gpt4 book ai didi

sql-server - 如何在 HQL 中使用 Datediff()

转载 作者:行者123 更新时间:2023-12-02 01:34:09 31 4
gpt4 key购买 nike

我正在尝试获取日期之间的差异。在我的 SQL SERVER 中它工作正常:

Select CSERVICE_ORDER_ID 
FROM TSERVICE_ORDERS
WHERE DATEDIFF(DAY, CDB_CREATE_DATE_TIME, CCANCELLATION_DATE) = 4

但是在我的 HQL 查询中我没有得到它。 Datefiff 函数可以在 HQL 查询中使用吗?有没有具有相同行为的函数?

最佳答案

HQL 不支持 datediff,但如果您仍想使用 datediff,则应使用 createNativeQuery()createSQLQuery() 将其写入 sql。在您的示例中,您只需要 id,而不是实体对象,因此这应该足够了。

或者你可以在 hql 中使用类似的东西,但是如果你记录日期时间(不仅仅是日期),精度会有点棘手。

4>(((CDB_CREATE_DATE_TIME - CCANCELLATION_DATE)/24/60/60/10)-1)>3

/24/60/60/10 是 1 天内的小时,1 小时内的分钟,1 分钟内的秒,10 是我认为的精度(1/10 秒),cz 如果我不这样做,我会得到 69.44444444444445 6 天的不同除以 10 并在末尾加上 -1

关于sql-server - 如何在 HQL 中使用 Datediff(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534077/

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