求简单算法(100分)

  • 主题发起人 主题发起人 sunyb
  • 开始时间 开始时间
S

sunyb

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL7数据库里有一个人员表,其中有一字段是每个人的出生日期;
现在要求在每个人生日的前一天和后一天自动跳出生日窗口,最简单的SQL应该怎么写?

我的设想:生日(出生日期字段的年月) BETWEEN 生日+1 and 生日-1
具体应该怎么写呢?
 
生日(出生日期字段的年月) BETWEEN 生日+1 and 生日-1
====//是不是今天

你写错了吧,
 
BirthdayHintSQL= 'Select MainNO,Name,SecName,Unit,Born,BornDateIsSolar,BornMonthDay '+
'From dtMain where (BornMonthDay between #%s# and #%s#)'+
' or (BornDateIsSolar and (BornMonthDay between #%s# and #%s#)) and User="%s" ';
TmpStr:=Format(BirthdayHintSQL,[DateToStr(ZeroMonthDay),
DateToStr(TmpDate),DateToStr(BeginSolarZeroMonthDay),
DateToStr(EndSolarZeroMonthDay),sCurUser]);
我以前的是这样写的
还处理了有的为农历生日的问题
已经根据要求的范围计算出起始的日期了
 
对不起各位,我是想用ASP实现,用VB脚本语言
 
可以这样写
Select * From '你的表名' where '生日' Between GetDate()-1 and GetDate()+1

也就是说用生日字段跟GetDate()去比较
可以吗?
 
to Spring_Thunder:
假如您的生日是1970-1-1,GetDate()-1 and GetDate()+1的值是2002-10-31!
不可能符合条件的
 
where month(生日)=datepart(mm,getdate()) and
day(生日)=datepart(dd,etdate())-1 and
day(生日)=datepart(dd,etdate())+1
 
改为
生日(出生日期字段的年月) BETWEEN 生日-1 and 生日+1
具体应该怎么写呢?
 
to xuefeiyang:
在生日是1日或者31日时怎么处理
 
后退
顶部