sql >> Base de Datos >  >> RDS >> Mysql

Consulta SQL para calcular las horas dedicadas desde el otro día y terminar al día siguiente

Esta es una consulta de Oracle para calcular la diferencia de tiempo solamente. Creo que debería funcionar en cualquier SQL si reemplaza dual con su tabla. Hay funciones LAG/LEAD para comparar los valores de la fila anterior/siguiente, pero no sé si están disponibles en su versión de SQL. Espero que esto te sea útil:

SELECT trunc(mydate / 3600) hr
 , trunc(mod(mydate, 3600) / 60) mnt
 , trunc(mod(mydate, 3600) / 60 /60) sec
  FROM 
  (
   SELECT (to_date('01/02/2013 23:00:00', 'mm/dd/yyyy  hh24:mi:ss') -
           to_date('01/01/2013 07:00:00', 'mm/dd/yyyy  hh24:mi:ss')) * 86400 mydate
    FROM dual
  )
 /