如何使用 postgresql 将时间戳四舍五入到最近的一天

Cés*_*che 4 sql postgresql date

如何在 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
Run Code Online (Sandbox Code Playgroud)

示例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 
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以向时间戳添加 12 小时,然后执行您已经执行的截断操作。

就像是...

date_trunc('day' , timestamp '1967-12-03 23:00:00' + interval '12 hours')
Run Code Online (Sandbox Code Playgroud)