我需要在我的申请中向用户发送生日祝福。
我有一个表User
,列dateOfBirth
。我需要一个查询来检索符合今天日期的出生日期的用户。
例如,如果用户的dateOfBirth
值1983-11-02 00:00:00
,我必须向用户发送生日祝福。
提前谢谢。
答案 0 :(得分:2)
选择dateOfBirth
列的月份和日期与今天匹配的行。
<强>查询强>
select * from `users`
where MONTH(`dateOfBirth`) = MONTH(NOW())
and DAY(`dateOfBirth`) = DAY(NOW());
答案 1 :(得分:1)
你可以这样做:
SELECT * FROM User WHERE MONTH(dateOfBirth) = MONTH(NOW()) AND DAY(dateOfBirth) = DAY(NOW());
答案 2 :(得分:0)
SELECT name, email
FROM user
WHERE MONTH(dateOfBirth) = MONTH(NOW()) AND DAY(dateOfBirth) = DAY(NOW())
因为您在hibernate标记中提出了问题。 hibernate中的上述查询将如下所示。
String hql = "FROM user WHERE MONTH(dateOfBirth) = MONTH(NOW()) AND DAY(dateOfBirth) = DAY(NOW())";
Query q = session.createQuery(hql);
List<user> l = q.list();
答案 3 :(得分:0)
您可以通过以下简单查询来做到这一点:
SELECT Name from table_name
where EXTRACT(MONTH FROM BirthDate)=DAY(CURDATE())
and EXTRACT(DAY FROM BirthDate) = MONTH(CURDATE())
答案 4 :(得分:0)
您当前正在做的是每天(每天)从SQL中提取数据并撰写并通过电子邮件手动发送愿望。如果我建议您采用更好的方法怎么办?
有一个名为Wishing Application的应用程序,可以轻松发送生日和工作周年纪念邮件。
至少它只需要两件 excel文件,其中包含愿望详细信息(日期,姓名,电子邮件)和配置文件( application.properties ),就是这样,你很好。
此外,本地有各种options to run应用程序(命令行,前台,后台,泊坞窗,Windows Scheduler,Unix cron等)云。
应用程序为highly configurable,您可以配置各种详细信息,例如: