Saltar al contenido

La diferencia de tiempo de SQL entre dos fechas da como resultado hh: mm: ss

Solución:

declare @StartDate datetime, @EndDate datetime

select @StartDate="10/01/2012 08:40:18.000",@EndDate="10/04/2012 09:52:48.000"

select convert(varchar(5),DateDiff(s, @startDate, @EndDate)/3600)+':'+convert(varchar(5),DateDiff(s, @startDate, @EndDate)%3600/60)+':'+convert(varchar(5),(DateDiff(s, @startDate, @EndDate)%60)) as [hh:mm:ss]

Esta consulta te resultará útil.

El código más corto sería:

Select CAST((@[email protected]) as time(0)) '[hh:mm:ss]'

Si bien tal vez no sea el más eficiente, esto funcionaría:

declare @StartDate datetime, @EndDate datetime

select @StartDate="10/01/2012 08:40:18.000",@EndDate="10/04/2012 09:52:48.000"

select convert(varchar(5),DateDiff(s, @startDate, @EndDate)/3600)+':'+convert(varchar(5),DateDiff(s, @startDate, @EndDate)%3600/60)+':'+convert(varchar(5),(DateDiff(s, @startDate, @EndDate)%60))

si puede ejecutar dos selecciones, entonces esto sería mejor porque solo hace el dateiff una vez:

declare @StartDate datetime, @EndDate datetime

select @StartDate="10/01/2012 08:40:18.000",@EndDate="10/04/2012 09:52:48.000"
declare @Sec BIGINT

select @Sec = DateDiff(s, @startDate, @EndDate)

select convert(varchar(5),@sec/3600)+':'+convert(varchar(5),@sec%3600/60)+':'+convert(varchar(5),(@sec%60))
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *