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,5 до 5 секунд.Настил временных меток на второй
Так что мой вопрос: какой самый простой способ округлить current_timestamp(6)
до ближайшей секунды вниз?
PS: Я знаю, решение с преобразованием в секунды и обратно
PPS: Результат должен быть типа временной метки, а не строка
UPD:
Найдены решением
select current_timestamp(6), current_timestamp(0)::abstime