sql >> Base de Datos >  >> RDS >> Sqlserver

Calcule la suma de fecha y hora en HH:MM:SS en sql

Creo que quería convertir a tiempo (o fecha y hora si su versión de SQL Server no lo admite), en lugar de varchar.

Pero, esta es una muy mala manera de hacer esto. 25:01:01 no será una fecha y hora válida. Debe sumar los segundos (como se sugiere en otra respuesta) y luego formatear los resultados como desee al final.

Entonces, en su primera consulta, incluya otra columna que sea la duración en segundos:

, DateDiff(s,[Start Date] , [End Date]) as [Ticket Type Seconds]

Luego, en la segunda consulta, simplemente formatee SUM([Ticket Type Seconds]), tal vez así:

STR(SUM([Ticket Type Seconds])/3600) 
+ RIGHT(CONVERT(char(8),DATEADD(s,SUM([Ticket Type Seconds]),0),108),6)

Eso te da las horas (que pueden ser más de 24), concatenadas con la parte ':MM:SS' de la fecha y hora que obtienes cuando conviertes los segundos (sumados a la fecha 0:19000101 00:00:00) a fechahora.