'12-JUN-87'
bukan tanggal melainkan literal string.
Jika Anda ingin membuat tanggal untuk dimasukkan ke dalam tabel, Anda harus:
- Gunakan literal tanggal ANSI
:
DATE '1987-06-12'
- Atau, secara eksplisit, konversikan string literal ke tanggal
:
TO_DATE( '12-JUN-87', 'DD-MON-YY', 'NLS_DATE_LANGUAGE = American' )
Jika Anda mencoba menggunakan string literal sebagai tanggal maka Oracle akan mencoba mengonversinya secara implisit menjadi tanggal menggunakan NLS_DATE_FORMAT
parameter sesi sebagai topeng format. Jika topeng format ini tidak cocok dengan format string, maka pengecualian akan dibuat.
Catatan:bahwa parameter sesi dapat diubah oleh pengguna dan dapat berbeda untuk setiap pengguna sehingga Anda tidak boleh bergantung pada nilai default ini.