Mysql
 sql >> Database >  >> RDS >> Mysql

Query SQL per calcolare le ore trascorse dall'altro giorno e il giorno successivo

Questa è una query Oracle per calcolare solo la differenza di tempo. Penso che dovrebbe funzionare in qualsiasi SQL se sostituisci dual con la tua tabella. Esistono funzioni LAG/LEAD per confrontare i valori della riga precedente/successiva ma non so se sono disponibili nella tua versione di SQL. Spero che questo ti sia utile:

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
  )
 /