急!!!根据出生日期,查询出距今一个星期内过生日的数据记录

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:59:34
SQL2000数据库,有表:tb_PerslFileInfo ,出生日期字段:Birthday
查询出所有在距离今天一个星期内过生日的数据记录。
希望有高手能帮忙。
1、如果当前日期为2009年5月30日,显示最近七天内的记录,也就是说要显示5.30、5.31、6.1、6.2、6.3、6.4、6.5这七天内生日记录。

2、日期中包括年份,而计算生日跟年份没关系,所以DateDiff函数不可能。

declare @date datetime
set @date = '2008-3-14'
select convert(datetime,convert(varchar,year(getdate())) + substring(convert(varchar,@date,120),5,6))
--条件语句写法
convert(datetime,convert(varchar,year(getdate())) + substring(convert(varchar,@date,120),5,6)) between getdate() and dateadd(day,7,getdate())

--举个例子,将日期转换成统一年份的日期,在进行比较
declare @date datetime
set @date = '2008-3-14'
select convert(datetime,convert(varchar,year(getdate())) + substring(convert(varchar,@date,120),5,6))
--条件语句写法
convert(datetime,convert(varchar,year(getdate())) + substring(convert(varchar,@date,120),5,6)) between getdate() and dateadd(day,7,getdate())