Vous pouvez soustraire des dates dans Oracle. Cela vous donnera la différence en jours. Multipliez par 24 pour obtenir les heures, et ainsi de suite.
SQL> select oldest - creation from my_table;
Si votre date est stockée sous forme de données de type caractère, vous devez d'abord la convertir en 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
Note :
Cette réponse s'applique aux dates représentées par le type de données Oracle DATE
. Oracle dispose également d'un type de données TIMESTAMP
qui peut également représenter une date (avec l'heure). Si vous soustrayez TIMESTAMP
vous obtenez un INTERVAL
; pour extraire des valeurs numériques, utilisez l'option EXTRACT
fonction.
0 votes
Un quasi-duplicata : stackoverflow.com/questions/9322935/