两边类型都不一样,还有就是substr里面应该为字符型,
修改如下:
if to_char(begindate,'dd')<'05' 

解决方案 »

  1.   

    ORA-01723: zero-length columns are not allowed这个问题怎么解决啊,我是create table aa as select  a,b,c,d  from bb.....然后就报了错
      

  2.   


    两边类型都不一样,还有就是substr里面应该为字符型,
    修改如下:
    if to_char(begindate,'dd')<'05' if to_date(substr(BeginDate,7,2),'dd')<to_date('05','dd') then我最后是这么解决的
      

  3.   


    两边类型都不一样,还有就是substr里面应该为字符型,
    修改如下:
    if to_char(begindate,'dd')<'05' if to_date(substr(BeginDate,7,2),'dd')<to_date('05','dd') then我最后是这么解决的
    为什么要这样呢?我觉得你搞得太复杂了
      

  4.   

    这个不行?
    if to_char(begindate,'dd')<'05' 
      

  5.   

    请问begindate是什么类型,不是date型吗?
      

  6.   

    BeginDate是什么类型?文本类型吗?
    那直接用 substr(BeginDate,7,2)<‘05’ 不就可以了吗?
      

  7.   

    如果是varchar2的话直接substr截取字符就可以了