Dear,

Format default date di oracle yaitu : "DD-MON-YYYY"
contoh : "01-JAN-2010"

hmm ganti saja '01-01-2010' menjadi '01-JAN-2010' mestinya dengan begitu sudah 
ok ..

CMIIW

thanks..

"Gapailah cita-citamu setinggi langit karena jika kau meleset sekalipun, kau 
akan tetap berada diantara bintang-bintang"   

--- Pada Kam, 4/2/10, Padang Nadimpu <[email protected]> menulis:

Dari: Padang Nadimpu <[email protected]>
Judul: [indo-oracle] Solusi tuntas "ORA-01843: not a valid month"
Kepada: [email protected]
Tanggal: Kamis, 4 Februari, 2010, 1:14 PM







 



  


    
      
      
      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.





    
     

    
    


 



  






      Berselancar lebih cepat. Internet Explorer 8 yang dioptimalkan untuk 
Yahoo! otomatis membuka 2 halaman favorit Anda setiap kali Anda membuka 
browser. Dapatkan IE8 di sini! 
http://downloads.yahoo.com/id/internetexplorer

[Non-text portions of this message have been removed]

Kirim email ke