我正在尝试编写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/

10-12 02:54