2012-02-22 3 views
2
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 

ответ

3
select current_timestamp(6), date_trunc('second', current_timestamp(6)) 
Смежные вопросы