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

¿Cómo obtener el número total de horas entre dos fechas en el servidor sql?

@codeka respondió con la parte de las horas (de su título), pero en el cuerpo de su pregunta pidió horas y minutos, así que aquí hay una forma

 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference

Lo que esto hace en la primera parte es lo que mostró @codeka. Le da la fecha entre las dos fechas en horas completas reales. El segundo término en el sql da la fecha en minutos entre (primera fecha + las horas transcurridas) y la segunda fecha. Tienes que eliminar las horas de la ecuación en la parte de los minutos o obtendrás los minutos reales entre las fechas. Datediff y sus identificadores Datepart permitidos se pueden investigar aquí:
http://msdn.microsoft.com/en-us/library/ms189794.aspx