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

Comment puis-je obtenir la différence d'heures entre deux dates?

L'erreur est que SYSDATE est déjà une date, il n'est pas nécessaire d'utiliser TO_DATE() pour le convertir en date.

Si vous ne le convertissez pas en date :

select
    24 * (sysdate - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;

Et si le formatage des dates est erroné, vous pouvez éventuellement utiliser deux étapes comme :

select
    24 * (to_date(to_char(sysdate, 'YYYY-MM-DD hh24:mi'), 'YYYY-MM-DD hh24:mi') - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;