从PostgreSQL的时间戳中提取日期(yyyy / mm / dd)
|
我只想从PostgreSQL的时间戳中提取日期部分。
我需要它是一个Postgresql的“ 0”类型,因此我可以将它插入另一个需要“ 0”值的表中。
例如,如果我有
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)的最佳方法是什么?
没有找到相关结果
已邀请:
7 个回复
寒健
将时间戳转换为日期。在psql中,这是一个时间戳记:
现在,我们将其转换为日期:
另一方面,您可以使用
功能。它们之间的区别是后者返回相同的数据类型(如
),以保持您的时区完整(如果需要)。
杰黔轿缺
从字符字段表示形式到日期,您可以使用:
测试代码:
测试结果:
镰茧钩
将其转换为日期?
蕾跨立锌煤
森含械
,您将获得唯一的日期部分。 有时执行
可能会返回
,但未删除
部分。但是我已经看到
在所有情况下都能正常工作。希望这可以帮助。
焙恍挝厂熄
另一个测试套件:
郡豪靠暖