これは、時間差分のみを計算するOracleクエリです。デュアルをテーブルに置き換えれば、どのSQLでも機能するはずです。前/次の行の値を比較するLAG/LEAD関数がありますが、それらがご使用のバージョンのSQLで使用できるかどうかはわかりません。これがお役に立てば幸いです:
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
)
/