Oracle
 sql >> Base de données >  >> RDS >> Oracle

Calculer la différence entre 2 dates/heures dans Oracle SQL

Vous pouvez soustraire des dates dans Oracle. Cela vous donnera la différence en jours. Multipliez par 24 pour obtenir des heures, et ainsi de suite.

SQL> select oldest - creation from my_table;

Si votre date est stockée sous forme de données de caractères, vous devez d'abord la convertir en un type de date.

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

Remarque :

Cette réponse s'applique aux dates représentées par le type de données Oracle DATE .Oracle a également un type de données TIMESTAMP , qui peut également représenter une date (avec l'heure). Si vous soustrayez TIMESTAMP valeurs, vous obtenez un INTERVAL; pour extraire des valeurs numériques, utilisez le EXTRACT fonction.