Nej. Datum/tidsstämplar har inget format . Oracle lagrar inte datum-/tidsstämplarna i det format du ser. Formatet du ser är endast för visning ändamål. Datum lagras internt i 7 byte vilket är Oracles proprietära format .
Klart man kunde. Du kan använda TRUNC som avkortar tidsdelen och lämnar endast datumdel och datatyp kvar som datum.
Till exempel,
SQL> SELECT TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
MY_TMSTMP
----------
2015-05-29
Så du får användarinmatningen i det formatet som en sträng . Du måste först konvertera den till DATE med TO_DATE och jämför det sedan.
Till exempel,
WHERE TRUNC(dt_column) < TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
Som jag redan sa, om du vill ignorera tidsdelen, använd TRUNC .
Använder dock TRUNC på datum kolumnen skulle undertrycka alla vanliga index på den kolumnen. Ur prestandasynpunkt är det bättre att använda ett datumintervallvillkor .
Till exempel,
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