Oracle
 sql >> Database >  >> RDS >> Oracle

Calcola la differenza tra 2 data/ora in Oracle SQL

Puoi sottrarre le date in Oracle. Questo ti darà la differenza in giorni. Moltiplica per 24 per ottenere ore e così via.

SQL> select oldest - creation from my_table;

Se la tua data è memorizzata come dati carattere, devi prima convertirla in un tipo di data.

SQL> select 24 * (to_date('2009-07-07 22:00', 'YYYY-MM-DD hh24:mi') 
             - to_date('2009-07-07 19:30', 'YYYY-MM-DD hh24:mi')) diff_hours 
       from dual;

DIFF_HOURS
----------
       2.5

Nota :

Questa risposta si applica alle date rappresentate dal tipo di dati Oracle DATE .Oracle ha anche un tipo di dati TIMESTAMP , che può anche rappresentare una data (con ora). Se sottrai TIMESTAMP valori, ottieni un INTERVAL; per estrarre valori numerici, utilizzare il EXTRACT funzione.