【问题标题】:How to get exact date difference in days in postgreSQL?如何在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 天。
  • 但我也尝试了时间戳。正如刚才提到的。结果相同。

标签: sql postgresql


【解决方案1】:
(NOW() - timestamp '2021-12-29 09:00:00') < interval'1' day

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2012-12-13
    • 1970-01-01
    • 2014-09-15
    • 2012-04-21
    • 1970-01-01
    相关资源
    最近更新 更多