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)时的特殊情况
------解决方案--------------------直接搞个完整的生日日期列
性别列多好