【问题标题】:How to round timestamp to nearest day with postgresql如何使用 postgresql 将时间戳舍入到最近的一天
【发布时间】:2021-05-07 14:43:39
【问题描述】:

如何在 postgresql 中将时间戳四舍五入到最近的一天。 我试过使用函数 date_trunc('day', d_date::timestamp) 但我知道它总是在同一天。

示例 1:

date_trunc('day' , '1967-12-03 23:00:00')

Result:

1967-12-03 00:00:00.000000

Expected:

1967-12-04 00:00:00.000000

示例 2:(这个很好用)

date_trunc('day' , '1967-12-03 00:00:00')

Result:

1967-12-03 00:00:00.000000

Expected:

1967-12-03 00:00:00.000000 

【问题讨论】:

    标签: sql postgresql date


    【解决方案1】:

    您可以将 12 小时添加到时间戳,然后执行您已经在执行的截断。

    类似...

    date_trunc('day' , timestamp '1967-12-03 23:00:00' + interval '12 hours')
    

    【讨论】:

    • @S-Man 我相信它在不到 12:00:00 的时间内确实有效。 1967-12-03 08:00:00 给出 1967-12-03 22:00:00 作为答案,该答案被截断为 1967-12-03 00:00:00,这是向下舍入的原始日期。
    • 对不起,是我的错。
    猜你喜欢
    • 2013-11-12
    • 1970-01-01
    • 2018-10-25
    • 2021-09-10
    • 2015-02-04
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多