sql 语句提前五天提醒某一个员工过生日 需要精通数据库的解答

sql 语句提前五天提醒某一个员工过生日 需要精通数据库的解答,第1张

--MSSQL ---仅仅提前5天时能查到:

select * from employee where month(BirthDay)=month(dateadd(dd,5,getdate())) and day(BirthDay)=day(dateadd(dd,5,getdate()))

---如果是未来5天内过生日的:

select * from employee where ( datediff(dd,getdate(), dateadd(year,datediff(year,BirthDay,getdate()),BirthDay)) between 0 and 5 )

or (datediff(dd,getdate(), dateadd(year,datediff(year,BirthDay,getdate())+1,BirthDay)) between 0 and 5)

写个存储过程,根据系统日期计算出要过生日的;存入目标表中

定义个job,每天自动执行这个过程

但是你必须得到目标表中去读,还要确保数据库在执行job的时间是启动的

机器或程序不可能完成所有的工作;这也是人类存在的意义

select 会员资料.会员卡号,会员资料.姓名,会员资料.身份z号,出生日期 from 会员资料

where datediff (day,getdate(),会员生日到期)<=3 and datediff (day,datetime(),会员生日到期)>0

==================

如果“会员生日到期”是2008年1月1日这个日期,那么你的语句逻辑是对的,只是DATE()改为GETDATE

'D'改为DAY即可。

如果您没有求出“会员生日到期”,那么可以先求出来,再执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8618751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存