现有一个时间字段,记录出生日期,想求近7天(或是更多的天数)内的生日人员名单,写了很多sql语句,查了也很多,都没有想要的效果,年份大家都没有考虑好...谁会写这个,对于sql语句本人不是很熟谢谢大家了我用的sql server是2005的。

解决方案 »

  1.   

    where datediff(dd,查询日期,比较日期) <= 需查的天数
      

  2.   


    select * from tb
    where 出生日期字段 between dateadd(day,-7,要查的日期) and dateadd(day,7,要查的日期)
      

  3.   

    where datediff(day,dateadd(year,datediff(year,生日,getdate()),生日),getdate())<7
      

  4.   

    where 出生日期 between dateadd(year,datediff(year,getdate(),出生日期),dateadd(day,-7,getdate())) and dateadd(year,datediff(year,getdate(),出生日期),dateadd(day,7,getdate()))
      

  5.   

    where abs(datediff(dd,查询日期,比较日期)) <= 7
      

  6.   


    我现在假设你包含前后各七天.select * from tb where abs(datediff(day,datename(year) + right(convert(varchar(10),时间字段,120),6),getdate())) <= 7如果只是从今天开始算,之后的七天.
    select * from tb where datediff(day,getdate(),datename(year) + right(convert(varchar(10),时间字段,120),6)) between 1 and 7
      

  7.   

    很感谢大家哈.第一次问问题呢.感动ing!!!