Я хочу извлечь только часть даты из отметки времени в PostgreSQL.
Мне нужен тип postgresql DATE
, чтобы я мог вставить его в другую таблицу, которая ожидает значение DATE
.
Например, если у меня есть 2011/05/26 09:00:00
, я хочу 2011/05/26
Я пробовал кастовать, но получаю только 2011:
timestamp:date
cast(timestamp as date)
Я пытался to_char()
с to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Я пытался сделать это функцией:
CREATE OR REPLACE FUNCTION testing() RETURNS void AS '
DECLARE i_date DATE;
BEGIN
SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD")
INTO i_date FROM exampTable WHERE id=1;
INSERT INTO foo(testd) VALUES (i);
END
Каков наилучший способ извлечения даты (гггг / мм / дд) из отметки времени в PostgreSQL?