我想向日期列添加特定天数,然后将其与当前日期进行比较。有什么方法可以实现与 HSQLDB(用于测试)和 MySQL(生产)兼容的方法吗?
为了让事情变得更加复杂,我使用了 Hibernate。
最佳答案
不知道问题的背景,但您可以反过来做吗:将 dae 列与当前日期减去天数进行比较?
我在 hql 中的意思是这样的(如果您更喜欢 JPA 接口(interface),我在本例中使用 jpql):
TypedQuery<SomeClass> q = getEntityManager().crateQuery(
"select s from SomeClass s where s.date = :date", SomeClass.class);
Calendar now = Calendar.getInstance();
// subtract number of days from current date, e.g. 10 days
now.add(Calendar.DAY, -10);
q.setParameter("date", now);
List<SomeClass> = q.getResultList();
这种方法与数据库无关,但当然只适用于简单的情况,在一些更复杂的情况下它不起作用。
关于mysql - 如何编写一个同时适用于 HSQLDB 和 MySQL 的查询,以在 WHERE 子句中向日期添加天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812338/