Я хочу извлечь только часть даты из метки времени в 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?
В пост-ГРЭС просто: TO_CHAR (timestamp_column, 'DD/MM/YYYY') как submission_date