请问如何,取当天时间 前30天的数据,比如,今天2006年11月14日。 然后取满足2006.10.14 及前的数据。

解决方案 »

  1.   

    DATEDIFF
    返回跨两个指定日期的日期和时间边界数。 语法
    DATEDIFF ( datepart , startdate , enddate )
      

  2.   

    select * from tb where datediff(dd,thedate,getdate())<=30
      

  3.   

    select * from tablename
    where columnname between daediff(day,-30,getdate()) and getdate()
      

  4.   

    好像都不对啊! 是不是我没有说清楚啊!
    比如 表 BOOK   
           id,  name,    bdate
           1    book1   2006-10-14
           2    book2   2006-9-12
           3    book3   2006-11-14我想取得是 比较今天的日期 2006-11-14 然后前30天,及30天以上的数据
    应该取得 
             1,2条数据
      

  5.   

    select * from tb
    where  datediff(day,bdate,getdate()) <30
      

  6.   

    select * from tb
    where  datediff(day,bdate,getdate()) >30
      

  7.   

    select * from book
    where  datediff(day,bdate,getdate()) >=30
      

  8.   

    where 时间列!>DATEADD(day, 3, getdate())
      

  9.   

    where 时间列 between DATEADD(day, 3, getdate()) and getdate()
      

  10.   

    原来是因为你表中数据的日期有在当天之后的,那么:select * from tb where datediff(dd,thedate,getdate()) between 0 and 30
      

  11.   

    select * from tablename where col between dateadd(month, -1, getdate()) and getdate()