Di Oracle, DATE adalah titik waktu. Itu selalu memiliki komponen waktu dengan presisi ke detik. todate('08-Jun-2010', 'dd-Mon-yyyy')
ada di Oracle sama dengan todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss')
. Jadi, jika Anda memilih baris hingga tanggal tersebut, Anda tidak akan mendapatkan baris apa pun pada hari itu dengan komponen waktu yang tidak sama dengan 00:00
.
Jika Anda ingin memilih semua baris hingga dan termasuk 08-JUN-2010
, saya sarankan menggunakan:
< to_date('09-06-2010', 'dd-MM-yyyy')
atau
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
Catatan - Saya mengoreksi format tanggal Anda:Anda perlu menggunakan MON
jika Anda ingin menggunakan nama bulan yang disingkat. Saya sarankan menggunakan MM
sebagai gantinya, sehingga Anda tidak akan mendapatkan kesalahan saat seseorang mengubah setelan kliennya (NLS_DATE_LANGUAGE
). Juga lebih suka menggunakan YYYY
bukannya YY
.