ORA-01843 月份无效


ORA-01843 月份无效

  ORACLE中对表数据进行操作,当表字段数据类型为DATE时,报“月份无效”错误,这是由于当前会话的语言环境与你进行数据操作的SQL语句中DATE型字段的显示格式不匹配。比如:
操作语句:

INSERT INTO grade VALUES   
                  (TO_DATE('11-FEB-2007 00:00:00','DD-MON-YYYY HH24:MI:SS'));  

可以注意到要插入的数据中 月份 的格式为英文的 ‘FEB’, 此时可以输入
    SELECT USERENV('Lang') FROM DUAL;
来查看当前会话的语言环境(缩写),如果返回为 ZHS ,即为中文环境,此时月份格式如果为英文刚会报错,
因此可以尝试以下方法:

  • 语言环境为中文时,直接将月份格式改成中文的’10月’;

  • 通过命令行语句 ALTER SESSION SET NLS_LANGUAGE=american将此对话窗口(会话)的语言环境变更为英文环境,即可在此窗口中执行。

  • 注意:上面的更改会话语言环境只针对当前会话窗口,你在当前会话窗口执行完此语句后,再去其他会话窗口执行表操作语句的话,更改实际上并未奏效,仍然会报错,因此 ALTER 更改会话语言环境与执行含有月份的操作语句必须在同一会话中。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值