在运行oracle 的demobld.sql时 TO_DATE('17-DEC-1980', 'DD-MON-YYYY')插入不进去,报无效的月份错误。

解决方案 »

  1.   

    這跟你的oracle的語言環境有關,
    TO_DATE('17-DEC-1980', 'DD-MON-YYYY')這個是英語的環境,
    你可以把它改成TO_DATE('17-12-1980', 'DD-MM-YYYY')
      

  2.   

    SQL> select TO_DATE('17-DEC-1980', 'DD-MON-YYYY','nls_date_language=AMERICAN') from dual;
     
    TO_DATE('17-DEC-1980','DD-MON-
    ------------------------------
    1980-12-17
     
    SQL> select TO_DATE('17-DEC-1980', 'DD-MON-YYYY') from dual;
     
    select TO_DATE('17-DEC-1980', 'DD-MON-YYYY') from dual
     
    ORA-01843: not a valid month
     
    SQL> 
      

  3.   


    --语言格式不对 你的环境是中文 
    TO_DATE('17-DEC-1980', 'DD-MON-YYYY','nls_date_language=american')  1* select TO_DATE('17-DEC-1980', 'DD-MON-YYYY','nls_date_language=american') from dual
    SQL> /TO_DATE('17-DE
    --------------
    17-12月-80
      

  4.   

    怎样去查Oracle的语言环境
      

  5.   


      1* select * from nls_database_parameters where parameter='NLS_CHARACTERSET'
    SQL> /PARAMETER                      VALUE
    ------------------------------ ---------------------------------------------------
    NLS_CHARACTERSET               ZHS16GBK