日期:2014-05-17  浏览次数:20486 次

sqlserver 2005求最近五天内过生的SQL语句!
如题:
表结构如下 
id    name    year     date
1     张三      1990    20101
2     李四      1990    10201
3     王五      1990    20301
4     无名      1990    20401
5     左权      1990    20501


问题是:
date是用户生日,后四位是月份加日期,第一位数,1代表男,2代表女,请问如何得到最近五天过生的用户?

------解决方案--------------------
select * from tab 
where stuff(date,1,1,'') between right(convert(varchar(8),getdate(),112),4) and
right(convert(varchar(8),dateadd(day,5,getdate()),112),4)

------解决方案--------------------
select * from tb 
where stuff(date,1,1,'') between right(convert(varchar(8),dateadd(day,-4,getdate()),112),4) and
right(convert(varchar(8),getdate(),112),4) 
------解决方案--------------------
datediff计算时间间隔
------解决方案--------------------
还要考虑年底(12-27至12-31)时的特殊情况
------解决方案--------------------
直接搞个完整的生日日期列
性别列多好