重庆思庄Oracle、Redhat认证学习论坛
标题:
ORA-01843:无效的月份
[打印本页]
作者:
刘泽宇
时间:
2021-1-8 16:28
标题:
ORA-01843:无效的月份
在执行这个语句时出现了报错:select TO_DATE('01-JAN-2021', 'DD-MON-YYYY') from dual;
第 1 行出现错误:
ORA-01843: 无效的月份
查看时间格式:
SQL> show parameter nls_date_format
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
nls_date_format string DD-MON-RR
是默认的格式
发现语言是中文
SQL> show parameter nls_date_language
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
nls_date_language string SIMPLIFIED CHINESE
这这种情况下,无法识别英语的JAN,因此解决方法如下:
1.将语句中的时间字段改为中文格式:
SQL> select TO_DATE('01-1月-2021', 'DD-MON-YYYY') from dual;
TO_DATE('01-1
--------------
01-1月 -21
2.将nls_date_language设置为英语:
ALTER SESSION SET nls_date_language = 'AMERICAN';
SQL> select TO_DATE('01-JAN-2021', 'DD-MON-YYYY') from dual;
TO_DATE('01-
------------
01-JAN-21
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/)
Powered by Discuz! X3.2