Pouvez-vous utiliser quelque chose comme ça?
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
Les durées sont des moments et non des durées. vous voulez probablement qu'ils signifient des durées, sinon ajouter serait inutile? ou ajouter deux fois par jour, mais qu'en est-il du carry quand il s'enroule? – dlatikay
@dlatikay oui, s'il vous plaît – motevalizadeh
duplication possible de [Opérande type de données de temps n'est pas valide pour l'opérateur d'ajout] (https://stackoverflow.com/questions/17578852/operand-data-type-time-is-invalid-for-add- opérateur) – dlatikay