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