繁体   English   中英

JPA:如何比较两个日期

[英]JPA : How to compare two dates

我需要在JPQL查询中的两个日期之间获取数据,但它不起作用。 日期是整数,但我想与日期进行比较。 这是部分查询,

谢谢!

     Query query = em.createQuery
    ("select p1 from Profile p1, Preference p2 where 
(p1.birthdate >= p2.agefrom and p1.birthdate <= p2.ageto and p2.preferenceid=:a)")
                                        .setParameter("a", profileid);


                TABLE Profile {
                profileid integer,
                birthdate date
                }

                TABLE Preference {
                preferenceid integer,
                agefrom integer,
                ageto integer
                }

使用BETWEEN

Query query = em.createQuery("select p1 from Profile p1, Preference p2 where 
   p1.birthdate BETWEEN p2.agefrom AND p2.ageto and p2.preferenceid=:a)")

我不认为你可以比较日期和整数。 你必须要么:

  • 使用datediff将birthdate转换为整数(year,birthdate,getDate())
  • 或者使用dateadd(year,-agefrom,getDate())将agefrom转换为Date,
  • 或者你可以使用年龄从和年龄之间的datediff(年,生日,getDate())来简化它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM