alter system set nls_date_format='dd-mm-yyyy' scope=spfile; terus shutdown db kemudian startup db
moga membantu --- In [email protected], Padang Nadimpu <nadi...@...> wrote: > > Halo Master-master Oracle > > Dari berbagai info via internet, diperoleh tahapan solusi "not a valid > month", sbb : > (lewat jendela cmd diakses database, dan dalam kasus ini menggunakan oracle9i) > > sqlplus /nolog > conn / as sysdba > > SHOW PARAMETER NLS_DATE_FORMAT; > SELECT SYSDATE FROM DUAL; > > NAME TYPE VALUE > ----------------------------- ----------- -------- > nls_date_format string > > Info berikutnya, jika nilai (value) parameter nls_date_format NULL maka > format tanggal akan mengunakan format default yang ada di dictionary > DATABASE_PROPERTIES > > Untuk mengubah format tanggal level database, maka perlu diedit parameter > file dgn menambahkan NLS_DATE_FORMAT. > Lokasi parameter file ada di $ORACLE_HOME\admin\nama_SID\pfile\init.ora > > Merujuk info tsb, kami mengedit file init.ora dgn Notepad serta menambahkan > (ketik) NLS_DATE_FORMAT='DD-MM-YYYY' > kemudian Simpan dan keluar > > Tahap berikutnya, database di-startup > > SHUTDOWN ABORT; > STARTUP PFILE=D:\Oracle\Oradata\karyawan\pfile\init.ora.10192009182733 > > startup database sukses, selanjutnya eksekusi show parameter nls_date_format > sbb : > > SHOW PARAMETER NLS_DATE_FORMAT; > SELECT SYSDATE FROM DUAL; > > NAME TYPE VALUE > ----------------------------- ----------- -------- > nls_date_format string DD-MM-YYYY > > Info di atas menunjukkan telah sukses menambahkan parameter > NLS_DATE_FORMAT='DD-MM-YYYY' > > Tahap berikutnya, diakses user database utk eksekusi query select, sbb : > > sqlplus /nolog > conn username/passw...@hostsstring > > select count(*) from karyawan > where ((floor(months_between('01-01-2010',tgl_lhr)/12)>=50); > > hasil eksekusi : > > select count(*) FROM karyawan > where ((floor(months_between('01-01-2010',tgl_lhr)/12)>=50) > * > ERROR at line 2: > ORA-01843: not a valid month > > Mohon sulosi tuntas, agar eksekusi query select TIDAK HARUS DIAWALI DGN > alter session set nls_format='dd-mm-yyyy'; > > Atas pencerahan solusi diucapkan terimakasih. >

