Nein. Datum/Zeitstempel hat kein Format . Oracle speichert die Datums-/Zeitstempel nicht in dem Format, das Sie sehen. Das angezeigte Format dient nur zur Anzeige Zweck. Das Datum wird intern in 7 Byte gespeichert, was das proprietäre Format von Oracle ist .
Natürlich könnten Sie. Sie könnten TRUNC verwenden was den Zeitteil abschneidet und nur den Datumsteil übrig lässt und der Datentyp als Datum verbleibt.
Zum Beispiel
SQL> SELECT TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
MY_TMSTMP
----------
2015-05-29
Sie erhalten also die Benutzereingabe in diesem Format als String . Sie müssen zuerst konvertieren es in DATE mit TO_DATE und dann vergleichen.
Zum Beispiel
WHERE TRUNC(dt_column) < TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
Wie ich bereits sagte, wenn Sie den Zeitteil ignorieren möchten, wenden Sie TRUNC an .
Wenden Sie jedoch TRUNC an in der Datums-Spalte würde jeden regulären Index unterdrücken auf dieser Säule. Verwenden Sie aus Leistungssicht besser eine Datumsbereichsbedingung .
Zum Beispiel
WHERE dt_column
BETWEEN
TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
AND
TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS') +1