如何在postgreSQL中获得精确的日期差异?

Posted

技术标签:

【中文标题】如何在postgreSQL中获得精确的日期差异?【英文标题】:How to get exact date difference in days in postgreSQL? 【发布时间】:2021-12-30 10:53:08 【问题描述】:

我试图在PostgreSQL 的几天内得到两个日期之间的差异。但我得到了预期的确切值。

例如,UTC 时间现在是2021-12-30 10:50:00

如果我的时间戳超过一天。比方说,2021-12-29 09:00:00 距离现在超过 24 小时。

所以,如果我选择(NOW()::DATE - '2021-12-29 09:00:00'::DATE)<=1;,它应该给我false。但它给了我true;但是日期差异超过 24 小时不是 2 天吗?我错过了什么? 我也试过:DATE_PART('day', NOW()::timestamp - DATE_OF_RECORDING::timestamp) 但结果相同。

【问题讨论】:

::DATE 表示您跳过时间戳的 TIME 部分。 IE。您正在执行“2021-12-30”-“2021-12-29”,即 1 天。 但我也尝试了时间戳。正如刚才提到的。结果相同。 【参考方案1】:
(NOW() - timestamp '2021-12-29 09:00:00') < interval'1' day

https://dbfiddle.uk/?rdbms=postgres_14&fiddle=835db28ba753587f5ab552d7537ba3e3

【讨论】:

以上是关于如何在postgreSQL中获得精确的日期差异?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TIMESTAMPDIFF 获取 PostgreSQL 中 2 个日期之间的差异? [复制]

如何获得 PostgreSQL 中的两个平均值之间的差异,平均值在列上,最终表按两列分组?

如何在 android 中获得两个日期之间的差异?,尝试所有事情并发布

如何在距当前日期 3(不同)天(差异)的情况下获得结果?

如何在 R 中获得 Kruskal-Wallis 检验的精确 p 值?

如何获得 s-s-rS 中两个日期变量之间的差异