Sie können Datumsangaben in Oracle subtrahieren. Dadurch erhalten Sie die Differenz in Tagen. Multiplizieren Sie mit 24, um Stunden zu erhalten, und so weiter.
SQL> select oldest - creation from my_table;
Wenn Ihr Datum als Zeichendaten gespeichert ist, müssen Sie es zuerst in einen Datumstyp konvertieren.
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
Hinweis :
Diese Antwort gilt für Datumsangaben, die durch den Oracle-Datentyp DATE
dargestellt werden .Oracle hat auch einen Datentyp TIMESTAMP
, die auch ein Datum (mit Uhrzeit) darstellen kann. Wenn Sie TIMESTAMP
subtrahieren Werten erhalten Sie ein INTERVAL
; Um numerische Werte zu extrahieren, verwenden Sie EXTRACT
Funktion.