Wir haben eine Tabelle, die eine Spalte DATE D hat.Oracle: Vergleichen Sie Termine nur nach der Stunde
Ich möchte alle Zeilen erhalten, in denen die d-Spalte unabhängig vom Datum größer/niedriger als ein Wert ist.
Zum Beispiel
| d |
-------------------
|2009/11/1 15:55:23|
--------------------
|2009/11/2 15:55:23|
--------------------
|2009/11/3 15:55:23|
--------------------
|2009/11/3 17:55:23|
--------------------
Zum Beispiel, wenn ich die Datensätze markiert nach 17.00 Uhr alle will:
select d
from my_table
where extract(hour from d) > TO_DATE ('17:00:00','HH24:MI:SS')
Dies sollte Rückkehr nur einen Datensatz
|2009/11/3 17:55:23|
I don‘ Ich weiß, ob dies der beste Weg ist, es zu tun, aber ich bekomme einen Fehler in der Extrakt-Funktion:
ORA-30076: invalid extract field for extract source
Cause: The extract source does not contain the specified extract field.
Gibt es einen besseren Weg, dies zu tun? Was ist mit diesem Fehler? Auszug nur für sysdate verfügbar, wie in allen Beispielen, die ich gefunden habe?
Vielen Dank im Voraus
Haben Sie also eine generische Lösung gefunden, die mit dem HOUR-Feld und EXTRACT arbeitet? Ich brauche dafür eine Cross-DBMS-kompatible Lösung. –