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]

Kirim email ke