日期:2014-05-18  浏览次数:20589 次

写一个提示
现在要写一个提示查询,在每个人生日前两天提示,也就是在每个人生日前两天查询表,现在查询条件是在生日日期的前两天,查询相应的生日日期   如   1980-10-01的生日,在09-29当天的时候,查询所有10-01出生的人,怎么写条件啊

------解决方案--------------------
select
*
from
tablename
where datediff(dd,cast(rtrim(datepart(yy,getdate()))+ '- '+
rtrim(datepart(mm,表里日期字段))+ '- '+
rtrim(datepart(dd,表里日期字段)) as datetime),getdate())=2
------解决方案--------------------
噢,楼主原来是想得到那些人啦`

那改下:
alter function dd(@dt datetime,@gt datetime)
returns varchar(50)
as
begin
declare @sql int
set @dt=dateadd(dd,2,@dt)
if((datepart(mm,@dt)=datepart(mm,@gt)) and (datepart(dd,@dt)=datepart(dd,@gt)))
set @sql=1
return @sql
end


create table ff(id int,name varchar(50),brithday datetime)
insert into ff select 1, 'wsp ', '1984-09-12 '
insert into ff select 2, 'w ', '1984-09-24 '
insert into ff select 3, 's ', '1984-09-25 '
insert into ff select 4, 'p ', '1984-09-24 '

select name from ff where dbo.dd(brithday,getdate())=1