我希望从 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中,从时间戳中提取日期(yyyy/mm/dd)的最佳方法是什么?