Können Sie so etwas verwenden?
DECLARE @fTime TIME(7) = '05:22';
DECLARE @tTime TIME(7) = '06:00';
DECLARE @result TIME(7);
SELECT @result = CAST([Hours] AS NVARCHAR) + ':' + CAST([Minutes] AS
NVARCHAR)
FROM (
SELECT cast(TotalTime AS INT)/60 AS [Hours]
,CAST(TotalTime AS INT) % 60 AS [Minutes]
FROM (
SELECT fTime + tTime AS TotalTime
FROM (
SELECT cast(SUBSTRING(cast(@ftime AS NVARCHAR), 1, 2) AS INT) * 60 +
CAST(substring(cast(@ftime AS NVARCHAR), 4, 2) AS INT) AS fTime
,cast(SUBSTRING(cast(@tTime AS NVARCHAR), 1, 2) AS INT) * 60 +
CAST(substring(cast(@tTime AS NVARCHAR), 4, 2) AS INT) AS tTime
) x
) y
) z
SELECT @result
Zeiten sind Zeitpunkte, keine Dauer. Sie wollen wahrscheinlich, dass sie Dauer bedeuten, sonst wäre das Hinzufügen sinnlos? oder füge zwei Tageszeiten hinzu, aber was ist mit dem Tragen, wenn es umschlingt? – dlatikay
@dlatikay ja, bitte – motevalizadeh
Mögliches Duplikat von [Operand Datentyp time ist ungültig für add operator] (https://stackoverflow.com/questions/17578852/operand-data-type-time-is-invalid-for-add- Bediener) – dlatikay