今天小编给大家分享的是出现ora01843 无效的月份应该怎么处理,很多人都不太了解,今天小编为了让大家更加了解ora01843无效的月份,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。
出现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';
以上就是出现ora01843 无效的月份应该怎么处理的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注编程之家行业资讯频道哦!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。