迷惑,很简单的问题就是不知道为什么出错!
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 ';