plsql oracle 无效月份,“ORA-01843: 无效的月份“问题
“ORA-01843: 无效的月份“问题今天在使用Oracle SQL时,系统报错,错误提示为:ORA-01843: 无效的月份。SQL> INSERT INTO plsql101_purchase VALUES2 ('Product Name 1', 1, '5-NOV-03');第 2 行出现错误:ORA-01843: 无效的月份一开始感觉很奇怪:这怎么能有问题呢。排查了好几...
“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 无效的月份”的一些原因
更多推荐
所有评论(0)