首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

《Oracle Database 10gSQL开发指南》例子中无效的月份的错误

2014-01-28 
从《Oracle Database 10gSQL开发指南》(oracle press出版)P103上照抄一个例子: select MONTHS_BETWEEN( 25-M

从《Oracle Database 10gSQL开发指南》(oracle press出版)P103上照抄一个例子:
select MONTHS_BETWEEN( '25-MAY-2005 ', '15-JAN-2005 ') from dual;

然后放到sql worksheet上运行,居然说 '25-MAY-2005 '是无效的月份。不知道怎么解释这个错误?

运行环境:win xp sp2, oracle 10g



------解决方法--------------------------------------------------------
估计你的language是中文,你可以试试 '25-7月-2005 ',或把SESSION的语言改一下
alter session set nls_language=american;
------解决方法--------------------------------------------------------
select months_between (to_date( '25-05-2005 ', 'DD-MM-YYYY '),to_date( '15-01-2005 ', 'dd-MM-yyyy ')) from dual;
------解决方法--------------------------------------------------------
看看你操作系统的区域设置是什么?
------解决方法--------------------------------------------------------
你的Oracle默认语言是中文,但你插入的是英文习惯的日期,在执行你那条select语句之前先改Session:
alter session set nls_data_language=english;

        

热点排行