Sie können Daten in Oracle substract. Dies wird Ihnen den Unterschied in Tagen geben. 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 auf Daten gilt DATE
durch den Oracle-Datentyp dargestellt. Oracle hat auch einen Datentyp TIMESTAMP
, der auch ein Datum (mit Uhrzeit) darstellen kann. Wenn Sie TIMESTAMP
Werte subtrahieren, erhalten Sie eine INTERVAL
; Um numerische Werte zu extrahieren, verwenden Sie die EXTRACT
Funktion.
zu überprüfen Near-Duplicate: http://StackOverflow.com/questions/9322935/subtracting-dates-in-Oracle-Number-Or-Interval-Datatype –