Tidak. Tanggal/Stempel Waktu tidak memiliki format . Oracle tidak menyimpan tanggal/stempel waktu dalam format yang Anda lihat. Format yang Anda lihat hanya untuk tampilan tujuan. Tanggal disimpan secara internal dalam 7 byte yang merupakan format milik Oracle .
Tentu saja Anda bisa. Anda dapat menggunakan TRUNC yang memotong bagian waktu dan hanya menyisakan bagian tanggal dan tipe data tetap sebagai tanggal.
Misalnya,
SQL> SELECT TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
MY_TMSTMP
----------
2015-05-29
Jadi, Anda mendapatkan input pengguna dalam format itu sebagai string . Anda harus terlebih dahulu mengkonversi ke DATE menggunakan TO_DATE lalu bandingkan.
Misalnya,
WHERE TRUNC(dt_column) < TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
Seperti yang sudah saya katakan, jika Anda ingin mengabaikan porsi waktu, maka terapkan TRUNC .
Namun, menerapkan TRUNC pada tanggal kolom akan menekan indeks regular reguler apa pun pada kolom itu. Dari sudut pandang kinerja, sebaiknya gunakan Kondisi rentang tanggal .
Misalnya,
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