如何利用“出生日期”栏目发送生日祝福

时间:2013-03-04 11:49:24

标签: php sql

我正在编写一个脚本来从数据库中选择所有人,这些人的月和日出生在当前月和日,并通过电子邮件向他们发送生日祝福。我需要的只是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列中提取月份和日期部分,并使用它来确定生日祝福的对象。

请有人请你帮帮我。

2 个答案:

答案 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());

请参阅SQL Fiddle with Demo

答案 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');