Oracle错误:ORA-01843:无效月份的问题

前端之家收集整理的这篇文章主要介绍了Oracle错误:ORA-01843:无效月份的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在创建了表EMP如下后:
CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),234)">JOB VARCHAR2(9),234)">MGR NUMBER(4),234)">HIREDATE DATE,234)">SAL NUMBER(7,2),234)">COMM NUMBER(7,234)">DEPTNO NUMBER(2)
);
再插入下面的一条数据后报错:ORA-01843: 无效的月份
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,234)">TO_DATE('17-DEC-1980','DD-MON-YYYY'),800,NULL,20);

原因是这个TO_DATE的Format中的“MON”格式出现异常,但是这个格式完全符合Oracle的格式要求。
再查看nls_date_language参数,发现这个参数值为NULL
SELECT * FROM v$parameter WHERE name = 'nls_date_language';

因为是中文的环境,因此需要把这个参数改成AMERICAN
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';

再次执行
INSERT INTO EMP VALUES (7369,TO_DATE('17-DEC-1980',20); 问题搞定

猜你在找的Oracle相关文章