Il s'agit d'une requête Oracle pour calculer uniquement la différence de temps. Je pense que cela devrait fonctionner dans n'importe quel SQL si vous remplacez dual par votre table. Il existe des fonctions LAG/LEAD pour comparer les valeurs des lignes précédentes/suivantes, mais je ne sais pas si elles sont disponibles dans votre version de SQL. J'espère que cela vous sera 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
)
/