MySQL 查询 Hibernate 或 native 查询生日通知

标签 mysql hibernate hql nativequery hibernate-native-query

我有一个用户表,其中包含与用户相关的各种详细信息,例如 ID、姓名、职业、电子邮件、手机、出生日期。我想编写一个查询来获取明天生日的用户。

工作 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 或 Native 查询。

-谢谢。

最佳答案

您可以将DATE_ADD()INTERVAL结合使用。看下面的查询:

SELECT
    *
FROM
    user
where
    date(DOB)= date(
        DATE_ADD(
            now(),
            INTERVAL 1 DAY
        )
    ) and month(DOB)= month(
    DATE_ADD(
        now(),
        INTERVAL 1 DAY
    )
) ;

关于MySQL 查询 Hibernate 或 native 查询生日通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49968324/

相关文章:

mysql - 我应该按月比较学生

java - 在 Hibernate 中获取表列名称

java - hql 中的 processEqualityExpression() : No expression to process!

刷新后 PHP Session 将不起作用

mysql - 这种情况应该如何设计数据库关系

Mysql - 带日期的子查询等

java - 在查询中创建新对象时,HQL createQuery 抛出 NullPointerException

java - JPA AttributeConverter 使 hibernate 在事务中对整个表生成更新语句

hive - 在 HIVE 中删除一系列分区

hibernate - hql 子类属性