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 @   Mr_罗先生  阅读(1340)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版
点击右上角即可分享
微信分享提示