重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

出现ora01843 无效的月份怎么办

时间:2020-09-22 04:40:07 作者:重庆seo小潘 来源:
出现ora01843 无效的月份怎么办? 执行 下面的SQL语句时select TO_DATE(01-FEB-1988, DD-MON-YYYY) from dual;出现了如下的错误: 重新查询了一下 当前系统时间 的日期格式,发现如下: 执行:SELECT TO_CHAR(sysdate, DD-MON-YYYY,NLS_DATE_LANGUAGE = SIMP

出现ora01843 无效的月份怎么办

出现ora01843 无效的月份怎么办?

执行 下面的SQL语句时select TO_DATE('01-FEB-1988', 'DD-MON-YYYY') from dual;出现了如下的错误:

出现ora01843 无效的月份怎么办

重新查询了一下 当前系统时间 的日期格式,发现如下:

执行: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') EngFROM DUAL;出现如下结果:

出现ora01843 无效的月份怎么办

由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 无效的月份怎么办的详细内容,更多请关注小潘博客其它相关文章!