ORA-01843:无效的月份

来源:互联网 发布:java insert mysql 编辑:程序博客网 时间:2024/05/04 09:14

案例:

CREATE TABLE EMP

(EMPNO NUMBER(4)NOT NULL,

 ENAME VARCHAR2(10),

 JOB VARCHAR2(9),

 MGR NUMBER(4),

 HIREDATE DATE,

 SAL NUMBER(7,2),

 COMM NUMBER(7,2),

 DEPTNO NUMBER(2)

);

 

INSERT INTO EMPVALUES (7369,'SMITH',  'CLERK',     7902,

TO_DATE('17-DEC-1980','DD-MON-YYYY'),  800, NULL,20);

---报错,无效的月份

字符集环境:

SELECT USERENV('language') FROM dual; 

 --SIMPLIFIED CHINESE_CHINA.ZHS16GBK

因为oracle服务器的字符集环境为中文环境,格式mon就不能用英文的写法

必须用中文的‘六月‘,换句话说要转化的字符串必须符合下面sql的查询结果

SELECT to_char(SYSDATE,'mon') FROM dual;

如果不想修改sql语句运行的话,需要在执行语句之前,使用alter session set nls_date+language='ameracan';

即可


来源:http://www.cnblogs.com/rootq/archive/2009/05/16/1458090.html

0 0
原创粉丝点击