gpt4 book ai didi

hibernate - 在 HQL 中执行日期/时间数学?

转载 作者:行者123 更新时间:2023-12-03 10:00:20 24 4
gpt4 key购买 nike

我正在寻找如何在 HQL 查询中执行日期/时间数学。具体来说,我如何从 current_timestamp() 的结果中添加或减去 (x) 时间量功能?或者我是否必须为此投入 SQL 并希望正在运行的任何数据库都支持它?

HQL 查询示例:

FROM RandomThing
WHERE randomTime IS NOT NULL AND
randomTime >= current_timestamp() AND
randomTime <= (current_timestamp() + :timeToAdd)

我可以将 :timeToSubtract 参数定义为任何特定单位,但任何大于小时的都是不可取的,而秒则是最可取的。

澄清:我意识到这可以在查询之外轻松完成。但是出于哲学原因,我们假设使用数据库服务器的时间而不是查询系统的时间很重要。实际示例:我正在查询最后 (x) 时间内所有条目的自动时间戳。由于时间戳是由数据库系统生成的,因此使用数据库的当前时间也很重要。

最佳答案

为什么你需要在查询中这样做?为什么不直接在java代码中处理它。

例如:

From RandomThing
Where randomTime is not null and
randomTime >= :currentTimestamp and
randomTime <= :maxTimestamp

然后只需设置参数。

关于hibernate - 在 HQL 中执行日期/时间数学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/639522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com