Jika anda pengguna windows, tambahkan di regedit !
NLS_DATE_FORMAT dengan format yang anda kehendaki.
~roes~
--- In indo-oracle@ yahoogroups. com, 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.101920091827 33
>
> 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/password@ 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.
>
[Non-text portions of this message have been removed]