你不写我们也不知道你错在那里了!你要保证convert出来的结果是对的!

解决方案 »

  1.   

    select *
    from dayholding
    where (curdate as 
      (convert(varchar(4),datepart(YYYY,curdate))+
      (case len(convert(varchar(2),datepart(MM,curdate)))
        when 1 then ('0'+ convert(varchar(2),datepart(MM,curdate)))
        when 2 then (convert(varchar(2),datepart(MM,curdate)))
    end)))='2002011'使用
    select curdate=convert(varchar(4),datepart(YYYY,curdate))+
    (case len(convert(varchar(2),datepart(MM,curdate)))
      when 1 then ('0'+ convert(varchar(2),datepart(MM,curdate)))
      when 2 then (convert(varchar(2),datepart(MM,curdate)))
    end) from dayholding
    可以计算出'200211'类型的字符结果
      

  2.   

    select *
    from dayholding
    where convert(varchar(6),curdate,112)='200211'orselect *
    from dayholding
    where convert(varchar(7),curdate,120)='2002-11'