首页 > 解决方案 > 在 HQL 中减去日期

问题描述

有什么方法可以在 HQL 中添加日期。我刚刚发现如何从日期中减去天数:http: //www.hplsql.org/minus

但是我需要减去毫秒或日期,但是当我尝试使用它时,我得到了QuerySyntaxException.

我需要做这样的事情:

h.createDate < 
    CASE 
        WHEN h.timeout IS NOT NULL 
            THEN current_timestamp() - h.timeout 
            ELSE :date 
    END

我可以使用 HQL 吗?

标签: hibernatehql

解决方案


HQL 没有这种日期功能。

因此,如果您想操作日期并仍然使用 JPQL/HQL 查询,则需要查看数据库具有哪些本机日期函数并在 HQL 查询中使用它们。

例如,使用 MySql,您可以使用该DATE_SUB函数从日期中减去天数。


推荐阅读