Sotto codice fornisce la differenza in millisecondi:
with t as (select systimestamp - to_timestamp(sysdate) diff from dual)
select extract(day from diff) * 24 * 3600000+
extract(hour from diff) * 3600000+
extract(minute from diff) * 60000 +
extract(second from diff) * 1000
dif
from t
Per la conversione di millisecondi a Ore , Minuti, secondi, modifica e utilizzare al di sotto di query a seconda dei casi: (! che sembra corretto)
with t as (select systimestamp - to_timestamp(sysdate) diff from dual)
select extract(day from diff) * 24 * 3600000+
extract(hour from diff) * 3600000+
extract(minute from diff) * 60000 +
extract(second from diff) * 1000
dif,
(to_char (to_date(round((extract(day from diff) * 24 * 3600000+
extract(hour from diff) * 3600000+
extract(minute from diff) * 60000 +
extract(second from diff) * 1000)/1000), 'SSSSS'), 'HH24"Hrs" MI"Min" SS"Sec"')) timeval
from t
fonte
2014-05-07 07:26:12
Guarda http://stackoverflow.com/questions/5881235/oracle-current-timestamp-to-seconds-conversion. C'è una risposta più breve e più veloce. – Vadzim