Вывести только дату и время postgres

Подскажите, пожалуйста, как в postgresql записать дату в таком формате

"2020-05-25 15:57:31" через now()?

Столбец у меня timestamp without time zone, вызываю функцию now(), но она записывает время в таком формате "2020-05-25 15:57:31.489".

Как из now() получить дату и время без ".489"?


Ответы (1 шт):

Автор решения: Мелкий

Собственно если вам не нужны доли секунд - то это можно указать в типе данных дополнительным параметром p: timestamp(0) without time zone, который как раз и означает число знаков в долях секунды.

melkij=> create temp table foo (dt timestamp(0) without time zone);
CREATE TABLE
melkij=> insert into foo values(now());
INSERT 0 1
melkij=> table foo;
         dt          
---------------------
 2020-05-25 16:33:05

Для отбрасывания части timestamp от уже имеющегося значения подходит штатная функция date_trunc

 SELECT date_trunc('second', timestamp_value)
→ Ссылка