出现ora01843 无效的月份怎么办
程序员文章站
2022-04-27 15:22:19
...
出现ora01843 无效的月份怎么办?
执行 下面的SQL语句时
select TO_DATE('01-FEB-1988', 'DD-MON-YYYY') from dual;
出现了如下的错误:
重新查询了一下 当前系统时间 的日期格式,发现如下:
执行:
SELECT TO_CHAR(sysdate, 'DD-MON-YYYY','NLS_DATE_LANGUAGE = ''SIMPLIFIED CHINESE''') Chn, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = American') Ame, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = Japanese') Jap, TO_CHAR(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = english') Eng FROM DUAL;
出现如下结果:
由SQL语句,可以看出,第一道第四行的TO_CHAR函数获取系统时间分别为 china,American,Japanese,English
从结果图看出,在china和Japanese下的时间格式为 27-7月-2018
由此可知,在上述的问题中,要想将时间格式转化为 “DD-MON-YYYY” 这种形式时会出现 ORA-01843的错误,因为系统不会去识别 英文的MON;
所以解决办法如下:
1.将select TO_DATE('01-FEB-1988', 'DD-MON-YYYY') from dual;中的时间字段改成中文格式的,即“01-二月-1998”;
2.设置其NLS_DATE_LANGUAGE的格式为Aerican或者是English即可
ALTER SESSION SET nls_date_language = 'SIMPLIFIED CHINESE';
推荐:《mysql视频教程》
以上就是出现ora01843 无效的月份怎么办的详细内容,更多请关注其它相关文章!
上一篇: css怎么禁止点击事件
下一篇: css怎么设置斜体样式
推荐阅读
-
淘宝购物出现异地登陆怎么办?阿里旺旺查询登陆记录的方法
-
BarTender2016打印标签的时候出现错误3600该怎么办?
-
PPTV网络电视界面出现乱码怎么办?PPTV界面出现乱码的解决方法
-
win7电脑关机出现蓝屏怎么办?解决win7电脑关机蓝屏的方法
-
filezilla出现路径错误导致无法启动怎么办?filezilla无法启动的解决方法
-
vs2010崩溃后出现设置好的快捷键不好用该怎么办?
-
在目标上单击鼠标右键后出现添加到收藏夹的窗口怎么办
-
BarTender2016打印标签的时候出现错误3600该怎么办?
-
PPTV网络电视界面出现乱码怎么办?PPTV界面出现乱码的解决方法
-
使用靠谱助手过程中出现没反应的情况怎么办