我正在编写一个脚本来从数据库中选择所有人,这些人的月和日出生在当前月和日,并通过电子邮件向他们发送生日祝福。我需要的只是SQL代码,然后我会从那里拿起然后将它绑定到我的cron作业。
我使用了许多无法运行的代码。我上次使用的代码是:
select name_of_staff,
email,
date_of_birth
from staff_dossier
WHERE month(date_of_birth) = month(now())
AND dayofmonth(date_of_birth) = dayofmonth(now());
//发送邮件代码如下......
我的问题是只在必要时在date_of_birth
列中提取月份和日期部分,并使用它来确定生日祝福的对象。
请有人请你帮帮我。
答案 0 :(得分:1)
如果您想获得出生月份和日期与当前日期/月份匹配的员工列表,您应该能够使用MONTH()
和DAY()
函数:
select name_of_staff, email, date_of_birth
from staff_dossier
WHERE month(date_of_birth) = month(now())
AND day(date_of_birth) = day(now());
答案 1 :(得分:1)
使用date_format()
select name_of_staff,
email,
date_of_birth
from staff_dossier
Where
date_format(date_of_birth,'%d %m') = date_format(curdate(),'%d %m');