我正在尝试编写FlexibleSearchQuery以在连接到hsqldb数据库的hybris中查找超过30天的记录,但以下代码将引发
org.hsqldb.HsqlException: incompatible data types in combination
查询:
final FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery("
SELECT * FROM CUSTOMER AS c WHERE c.timestamp < TRUNC(SYSDATE) - 30")
有人可以建议如何解决此问题吗?
最佳答案
+1到HybrisHelp答案。您应该计算日期并将其传递给灵活的查询。
使用Java 8 time api的相同版本的较短版本。
final FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery("
SELECT * FROM CUSTOMER AS c WHERE c.timestamp < ?inputDate")
flexibleSearchQuery.addQueryParameter("inputDate",
new DateTime(Instant.now()).minusDays(30).toDate());
关于java - FlexibleSerchQuery中的日期减法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58729579/