Nee. Datum/Tijdstempels heeft geen formaat . Oracle slaat de datum/tijdstempels niet op in het formaat dat u ziet. Het formaat dat u ziet, is alleen voor weergave doel. Datum wordt intern opgeslagen in 7 bytes, het eigen formaat van Oracle .
Natuurlijk zou je dat kunnen. Je zou TRUNC . kunnen gebruiken die het tijdgedeelte afkapt en alleen het datumgedeelte laat en het gegevenstype blijft als datum.
Bijvoorbeeld,
SQL> SELECT TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
MY_TMSTMP
----------
2015-05-29
U krijgt dus de gebruikersinvoer in dat formaat als een tekenreeks . U moet eerst converteren het in DATE met behulp van TO_DATE en vergelijk het dan.
Bijvoorbeeld,
WHERE TRUNC(dt_column) < TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
Zoals ik al zei, als je het tijdsgedeelte wilt negeren, pas dan TRUNC toe toe .
Echter, het toepassen van TRUNC op de datum kolom zou elke normale index onderdrukken op die kolom. Gebruik vanuit prestatieoogpunt beter een Datumbereikvoorwaarde .
Bijvoorbeeld,
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