ищу временную метку решения postgresql - PullRequest
1 голос
/ 26 мая 2020

привет друзья! Я устал искать решение. У меня есть база данных postgresql, в которой есть столбец с меткой времени. Я хочу извлечь значения таким образом

2010-01-01 14:34:43

без миллисекунд как это сделать я хочу 2010-01-01 14:34:43 а он мне показывает вот так 2010-01-01 14:34:43.267543

1 Ответ

0 голосов
/ 26 мая 2020

Если вы хотите отбросить миллисекунды, вы можете использовать date_trunc():

date_trunc('second', mytimestamp)

С другой стороны, если вы хотите округлить до ближайшей секунды, вы можете использовать timestamp(0):

mytimestamp::timestamp(0)

Демо на DB Fiddle - Я использовал метку времени, десятки секунд которой больше 5, чтобы сделать тестового представителя:

select
    mytimestamp,
    date_trunc('second', mytimestamp) trunc_mytimestamp,
    mytimestamp::timestamp(0) round_mytimestamp
from (values('2010-01-01 14:34:43.567543'::timestamp)) as t(mytimestamp)
mytimestamp                | trunc_mytimestamp   | round_mytimestamp  
:------------------------- | :------------------ | :------------------
2010-01-01 14:34:43.567543 | 2010-01-01 14:34:43 | 2010-01-01 14:34:44
...