【发布时间】:2019-02-25 04:15:38
【问题描述】:
所以我在表中有一个字符串时间列,现在我想将该时间更改为日期时间类型,然后查询选定日期的数据。
有直接的方法吗?我能想到的一种方法是 1)添加一个新列 2) 使用转换后的日期将值插入其中 3) 使用新列查询
在这里,我遇到了 INSERT 的第二步,所以需要帮助
ALTER TABLE "nds".”unacast_sample_august_2018"
ADD COLUMN new_date timestamp
-- Need correction in select statement that I don't understand
INSERT INTO "nds".”unacast_sample_august_2018” (new_date)
(SELECT new_date from_iso8601_date(substr(timestamp,1,10))
有人可以帮助我进行更正吗?如果可能的话,还有更好的方法吗?
尝试了其他方式一步完成,但错误为Column does not exist new_date
SELECT *
FROM (SELECT from_iso8601_date(substr(timestamp,1,10)) FROM "db_name"."table_name") AS new_date
WHERE new_date > from_iso8601('2018-08-26') limit 10;
与
SELECT new_date = (SELECT from_iso8601_date(substr(timestamp,1,10)))
FROM "db_name"."table_name"
WHERE new_date > from_iso8601('2018-08-26') limit 10;
有人可以纠正这些问题吗?
【问题讨论】:
标签: postgresql select sql-insert