-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それを使用して誕生日の挨拶が誰に送られるかを判断することです。

誰かが私を助けてください。

4

2 に答える 2

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 FiddlewithDemoを参照してください

于 2013-03-04T11:52:57.947 に答える
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');
于 2013-03-04T12:04:51.977 に答える