首页 > 解决方案 > PostgreSQL 和 Hibernate 对相同的 date_part 查询给出不同的结果

问题描述

当我尝试查找不同作业的经过时间时,我在 Spring Boot 应用程序中收到负值,而我从 psql cli 收到预期结果。

这是 Hibernate 查询,使用与我在 psql 中创建的完全相同的查询。

@Query(value = "SELECT bind_name, type_name, max((24 * 60 * date_part('day', current_timestamp - created)) + (60 * date_part('hour', current_timestamp - created)) + (date_part('minute', current_timestamp - created))) FROM job WHERE state IN ('INITIAL', 'SUBMITTED') AND bind_name IS NOT NULL AND  type_name IS NOT NULL GROUP BY bind_name, type_name", nativeQuery = true)

有关更多信息,该工作显示当我开始新工作时已经过去了 -180 分钟。我想(更有希望)因为上周我在西海岸工作,那将是罪魁祸首,但它似乎仍然存在。有没有人遇到过这样的问题?我还没有看到其他地方报告的问题。我也尝试将查询更改为extract方法,但遇到了同样的问题。

标签: sqlpostgresqlspring-boothibernatedatepart

解决方案


推荐阅读