Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich die Stundendifferenz zwischen zwei Daten ermitteln?

Der Fehler liegt daran, dass SYSDATE bereits ein Datum ist und TO_DATE() nicht verwendet werden muss um es in ein Datum umzuwandeln.

Wenn Sie es nicht in ein Datum umwandeln:

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

Und wenn die Formatierung der Daten falsch ist, können Sie zwei Schritte verwenden wie:

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;