Я хочу извлечь только часть даты из метки времени в 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?
источник
Используйте функцию даты :
От представления символьного поля до даты вы можете использовать:
Тестовый код:
Результат испытаний:
источник
Вы пытались назначить это на свидание, с
<mydatetime>::date
?источник
Это работает для меня в Python 2.7
источник
Еще один тестовый комплект:
источник
Просто сделайте,
select date(timestamp_column)
и вы получите только часть даты. Иногда выполнениеselect timestamp_column::date
может вернутьсяdate 00:00:00
туда, где не удаляется00:00:00
часть. Но я видел,date(timestamp_column)
чтобы работать отлично во всех случаях. Надеюсь это поможет.источник
В postgres просто: TO_CHAR (timestamp_column, 'DD / MM / YYYY') как submission_date
источник