sql >> Base de Datos >  >> RDS >> Oracle

Calcule la diferencia entre 2 fechas / horas en Oracle SQL

Puede restar fechas en Oracle. Esto le dará la diferencia en días. Multiplique por 24 para obtener horas, y así sucesivamente.

SQL> select oldest - creation from my_table;

Si su fecha se almacena como datos de caracteres, primero debe convertirla a un tipo de fecha.

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 :

Esta respuesta se aplica a las fechas representadas por el tipo de datos de Oracle DATE .Oracle también tiene un tipo de datos TIMESTAMP , que también puede representar una fecha (con tiempo). Si restas TIMESTAMP valores, obtienes un INTERVAL; para extraer valores numéricos, utilice EXTRACT función.