select current_timestamp(6), current_timestamp(0) ---------------------------------------------------- 2012-02-22 16:03:45.988418+13 | 2012-02-22 16:03:46+13 -------^ ------------^ (date from the future)
该查询可以很容易地从第二列返回将来的时间戳,因为它current_timestamp(0)是“数学地”舍入的。这可能会导致一些意外的错误,只是因为检索到的时间是从将来开始的0.5s。
current_timestamp(0)
所以我的问题是-最简单的四舍五入方法是什么current_timestamp(6)?
current_timestamp(6)
PS:我知道转换为秒数并返回的解决方案
PPS:结果应为时间戳类型,而不是字符串
UPD :
找到了解决方案
select current_timestamp(6), current_timestamp(0)::abstime
select current_timestamp(6), date_trunc('second', current_timestamp(6))