2013-03-04 51 views
-1

我正在寫一個腳本來選擇所有來自一個數據庫的人,這些數據庫的出生月份和日期分別爲當前月份和日期,並通過電子郵件向他們發送生日問候-郵件。我需要的僅僅是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列中的月和日在必要時,用它來確定生日問候去了。

請有人請幫助我。

回答

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

+0

非常感謝。它解決了。 – Onwa 2013-03-04 19:49:26

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'); 
+0

感謝髖關節!解決了。 – Onwa 2013-03-04 19:44:23

+0

接受答案,讓別人不必再看 – prasadmsvs 2013-03-05 12:15:03