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),为什么??

解决方案 »

  1.   

    字段YEARMONTH是VARCHAE2(6),为什么??这个试图应该是你们自己创建的
    什么类型应该很清楚了
      

  2.   

    你用 YEARMONTH like '2006%' 看看。
      

  3.   

    可能写得不清楚,字段YEARMONTH是VARCHAE2(6)
    为什么会这样?
      

  4.   

    你desc看看YEARMONTH究竟是什么类型。如果是date型:
    select * from view55ch122 where substr(to_char(view55ch122.YEARMONTH,'yyyymm'),1,4)='2006';