ITPub博客

首页 > Linux操作系统 > Linux操作系统 > “ORA-01843: 无效的月份“问题

“ORA-01843: 无效的月份“问题

原创 Linux操作系统 作者:bylows 时间:2009-06-18 23:04:03 0 删除 编辑

“ORA-01843: 无效的月份“问题

    今天在使用Oracle SQL时,系统报错,错误提示为:ORA-01843: 无效的月份。

SQL> INSERT INTO plsql101_purchase VALUES
  2       ('Product Name 1', 1, '5-NOV-03');
   
第 2 行出现错误:ORA-01843: 无效的月份

一开始感觉很奇怪:这怎么能有问题呢。排查了好几次都没找出问题来。后来灵机一动:会不会是Oracle的字符集设置问题。我现在使用的是中文ZHS16GBK的字符集,然而我插入的时英文的月份,与中文字符集不相符。

先看Oracle的当前的日期

SQL> SELECT current_date from dual;

CURRENT_DATE
--------------
18-6月 -09

然后修改月份再进行插入操作

  1  INSERT INTO plsql101_purchase VALUES
  2*      ('Product Name 1', 1, '5-11月-03')
SQL> /

已创建 1 行。

成功插入,问题解决。

因此从本例可以看出Oracle的字符集是很重要的,我们需要认真对待它。

参考:

1、造成“ORA-01843 无效的月份”的一些原因 http://gccfeli.cn/2009/04/ora-01843.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21853037/viewspace-606898/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle Documentation
请登录后发表评论 登录
全部评论

注册时间:2009-06-09

  • 博文量
    10
  • 访问量
    12977