Wie kann ich die Differenz in Stunden zwischen zwei Daten?
Ich tun muss, um ein "select" liefert, dass der Unterschied zwischen einem Feld des Typs Datum aus der Datenbank und dem aktuellen Datum in Stunden. Wie kann ich das in oracle?
Ich versuche dieses:
select 24 * (to_date(sysdate, 'YYYY-MM-DD hh24:mi')
- to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) diff_hours
from dual;
Aber das hat nicht funktioniert.
InformationsquelleAutor Guilherme Costa | 2012-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Fehler ist, da der DATEPART-ist schon ein Datum, gibt es keine Notwendigkeit zu verwenden
TO_DATE()
zu konvertieren zu einem Zeitpunkt.Wenn Sie nicht konvertieren es in ein Datum:
Und wenn die Formatierung der Daten falsch sind, können Sie möglich, verwenden Sie zwei Schritte wie:
InformationsquelleAutor aweis
Habe ich auf diese Weise:
select to_number(to_char(sysdate,'HH24')) - to_number(to_char(*YOUR_DATA_VALUE*,'HH24')),max(exp_time) from ...
Auch, Sie können dies überprüfen, für Minuten : geben Sie den link-Beschreibung hier
InformationsquelleAutor ibrahim
Sollten Sie multipliziert mit 24 erhalten Stunden von der Zeitdifferenz.
InformationsquelleAutor Amir Pashazadeh