我有一个用户表,其中有各种细节,如身份证,姓名,职业,电子邮件,手机,出生日期有关的用户。我想写一个查询,它应该获取明天生日的用户。
工作mysql查询:
SELECT *
FROM user
WHERE DATE_ADD(DOB, INTERVAL YEAR(CURDATE())-YEAR(DOB) + IF(DAYOFYEAR(CURDATE()) > DAYOFYEAR(DOB),1,0) YEAR) BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);
结果:
Eg: ID | Name | Profession | Email | Mobile | DOB
1 | A | IT | a@gmail.com | 123 | 1987-04-23
2 | B | Student | b@gmail.com | 234 | 1987-05-23
3 | C | Actor | c@gmail.com | 456 | 1987-06-23
Output: 1 | A | IT | a@gmail.com | 123 | 1987-04-23
在编写hibernate或本机查询时需要帮助。
-谢谢。
1条答案
按热度按时间djmepvbi1#
你可以用
DATE_ADD()
与INTERVAL
. 查看以下查询: