加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 15:59:30 所属栏目:百科 来源:网络整理
导读:在创建了表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) ); 再插入下面的一条数据后报
在创建了表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); 问题搞定

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读