【问题标题】:weird intervals in postgresqlpostgresql中的奇怪间隔
【发布时间】:2016-03-24 01:26:16
【问题描述】:

我正在使用 postgresql,当我想计算一些间隔的平均值时
两个时间戳。间隔是正确的,但我得到类似“235 天 29:28:02.642857”
我觉得奇怪的是它说的是 235 天 29 小时而不是 236 天 5 小时。

【问题讨论】:

  • 你确定不乘以数字吗?有些间隔可能很棘手,f.ex。 set timezone to 'Europe/London'; select timestamptz '2015-10-26' - timestamptz '2015-10-25'; 但我认为没有其他理由可以平均间隔应该产生 29 多个小时(超过几天)。无论如何,您可以使用justify_hours() 来证明结果的小时数。
  • 谢谢,当我使用 justify_hours 时,它给出了例外结果。我使用的时间戳例如“2012-05-12 00:06:01+00”(类型:带时区的时间戳)

标签: sql database postgresql timestamp intervals


【解决方案1】:

正如@pozs 所述,您可以使用 justify_hours(interval) 来正确转换它们。如果要将天数转换为月数,可以使用 justify_days(interval)。如果你想同时做这两个,做 justify_interval(interval)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2014-09-29
    相关资源
    最近更新 更多