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.