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'; 改的就是会话的字符集