ORA-01843 无效日期,月无效

执行时因中英文类型不同报错,可以修改当前会话的日期语言,关闭会话就失效。

如果日期格式默认为中文的话,输入命令窗口下执行 show parameter nls;

 

 

 1 --修改当前会话日期语言为中文
 2 alter session set nls_language='SIMPLIFIED CHINESE';
 3 --修改后可以成功执行
 4 SELECT TO_DATE('21-5月-2021') FROM dual;
 5 
 6 
 7 --修改会话日期语言为英文
 8 ALTER SESSION SET nls_date_language='AMERICAN';
 9 --修改后可以成功执行 
10 SELECT TO_DATE('21-MAY-2021') FROM dual;

 

 

1、数据库服务器字符集:select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
2、客户端字符集环境:select * from nls_instance_parameters,其来源于v$parameter , 表示客户端的字符集的设置

----这就是show parameter nls中的参数(show parameter 显示的就是v$parameter 中的值)

3、当前会话的字符集:select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置

----我们alter session set nls_language='AMERICAN'; 改的就是会话的字符集

posted @ 2022-02-02 14:55  Mr_罗先生  阅读(1112)  评论(0编辑  收藏  举报