我在sqldeveloper里面运行:
select to_date('24-MAY-2008', 'dd-MON-yyyy') from dual;
select sysdate from dual;
结果如下:
Error starting at line 1 in command:
select to_date('24-MAY-2008', 'dd-MON-yyyy') from dual
Error report:
SQL Error: ORA-01843: 无效的月份
01843. 00000 -  "not a valid month"
*Cause:    
*Action:
SYSDATE                   
------------------------- 
24-4月 -09                1 rows selected请大侠指点一下 这个是不是和客户端日期显示格式 还是 中英文 有关呢?

解决方案 »

  1.   

    换种写法吧
    这种到哪都没错
    select to_date('24-05-2008', 'dd-Mm-yyyy') from dual; 
      

  2.   

    嗯,中英文有关,你如果输入'24-4月-2009'应该可以SQL> select to_date('24-4月-2008', 'dd-MON-yyyy') from dual;TO_DATE('2
    ----------
    24-4月 -08
      

  3.   

    alter session set nls_date_language='American';
      

  4.   

    因为楼主是在sqldeveloper里面运行, 输出格式和这个工具本身的日期格式设置有关(Tools-->pereferences->User interface下面的 date/time)在sqlplus 里面楼上的方法应该是可以的。
      

  5.   

    请问 这个只是 更改用户界面的显示语言是吧?
    我想往表里面 导入日期类型的数据,比如'01-MAY-09'这样的,可是它就报错了。
    是不是我的数据库 的语言也是中文的原因啊?如何改成英文的呢?