Я хочу извлечь только часть даты из метки времени в PostgreSQL.
Мне нужно, чтобы это был DATE
тип postgresql, чтобы я мог вставить его в другую таблицу, которая ожидает 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?