ORA-01843: 无效的月份

简介:

在PLSQL Developer中执行select months_between('29-mar-2008','28-feb-2008') from dual报错。

SQL> select months_between('29-mar-2008','28-feb-2008') from dual;

select months_between('29-mar-2008','28-feb-2008') from dual

ORA-01843: 无效的月份


在oracle服务器的sqlplus中执行select months_between('29-mar-2008','28-feb-2008') from dual成功。


解决方法:统一客户端日期的语言

方法一:统一中文

 SELECT TO_DATE('21-5月-2014') FROM dual;

方法二:统一英文

1、修改客户端会话日期的语言: ALTER SESSION SET nls_date_language='american';

2、成功执行: SELECT TO_DATE('21-MAY-2014') FROM dual;






     本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1867325 ,如需转载请自行联系原作者

相关文章
|
Oracle 关系型数据库
Oracle 计算两个日期间隔的天数、月数和年数
在Oracle中计算两个日期间隔的天数、月数和年数: 一、天数: 在Oracle中,两个日期直接相减,便可以得到天数; 1 select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/dd/yyyy') from dual;返回结果:36 二、月数: 计算月数,需要用到months_between函数; 1 --months_between(date1,date2) 2 --如果两个日期中“日”相同,或分别是所在月的最后一天,那么返回的结果是整数。
4110 0
|
7月前
|
SQL Oracle 关系型数据库
oracle中日期循环
oracle中日期循环
355 0
|
Oracle 关系型数据库
ORA-22859 无效的列修改
ORA-22859 无效的列修改
416 0
ora-04098 触发器无效且未通过重新验证
ora-04098 触发器无效且未通过重新验证
245 0
|
Oracle 关系型数据库 数据挖掘
|
Oracle 关系型数据库 数据安全/隐私保护
oracle学习22-ora-01691和修改密码过期时间
oracle学习22-ora-01691和修改密码过期时间
156 0
|
Oracle 关系型数据库
oracle中关于日期问题的汇总!
oracle中关于日期问题的汇总!
135 0