“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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21853037/viewspace-606898/