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

ORA-01848: day of year must be between 1 and 365 (366 for

2014-01-28 
select * from view55ch122 执行后结果: GLKCO GROSS_SO REBATE_CHINA GROSS_SOYTO REBATE_CHINAYTO YEARM

select * from view55ch122;
执行后结果:
GLKCO GROSS_SO REBATE_CHINA GROSS_SOYTO REBATE_CHINAYTO YEARMONTH
---------- ---------- ------------ ----------- --------------- ------------
00005   -12206.56   -12206.56 200701
00005   -1022.6749   -25432.95 200612
00005   -24410.275   -24410.275 200611
但我用下面的语句:
select * from view55ch122 where substr( view55ch122.YEARMONTH,1,4)= '2006 ';
系统提示:
第 1 行出现错误:
ORA-01848: day of year must be between 1 and 365 (366 for leap year)
字段YEARMONTH是VARCHAE2(6),为什么?

------解决方法--------------------------------------------------------
字段YEARMONTH是VARCHAE2(6),为什么?

这个试图应该是你们自己创建的
什么类型应该很清楚了
------解决方法--------------------------------------------------------
你用 YEARMONTH like '2006% ' 看看。
------解决方法--------------------------------------------------------
YEARMONTH应该不是VARCHAR2吧
------解决方法--------------------------------------------------------
你desc看看YEARMONTH究竟是什么类型。

如果是date型:
select * from view55ch122 where substr(to_char(view55ch122.YEARMONTH, 'yyyymm '),1,4)= '2006 ';
 

        

热点排行