我是实在没有办法了,就这样写的
where DATEPART(yyyy,dvouchdate)=DATEPART (yyyy,GETDATE()-7)
and DATEPART(m,dvouchdate)=DATEPART (m,GETDATE()-7) 
and DATEPART(d,dvouchdate)<DATEPART (d,GETDATE()-7)觉得太~~~~~~~还请大家多多帮忙啊!!!

解决方案 »

  1.   

    我也曾遇到过同样的问题,我的解决方法是
    ENDDATE >= DATEADD(day, - 1, GETDATE())
    其中你可以查一下帮助,看一看dateadd()的用法
    你可以提前一天或推迟一天,哈哈
      

  2.   

    where dvouchdate<dateadd(d,-7,getdate())
      

  3.   

    select * from 表 where dvouchdate < (substring(convert(char(13),getdate()-7,120),1,10))substring的作用就是只显示日期,120为日期格式:yyyy-mm-dd(参考convert)
      

  4.   

    Where DateDiff(d,dvouchdate,GetDate())<=7
      

  5.   

    可以这样比较:Select * from 表 Where DateDiff(d,dvouchdate,GetDate()-7)=0
      

  6.   

    错了,改一下:Select * from 表 Where DateDiff(d,dvouchdate,GetDate()-7)>0
      

  7.   

    select convert(varchar(10),dateadd(d,-7,getdate()),120)这样返回7天前的日期的字符串形式,日期和字符串是可以直接比较的