【发布时间】:2018-09-23 23:31:26
【问题描述】:
我想在 Amazon Redshift 中生成日期和小时表。以下查询适用于 Postgresql 9.1 及更高版本,但不幸的是,我们仅限于 Amazon Redshift,这会导致错误:“函数 generate_series 不存在”。非常感谢您帮助在 8.02 中生成时间序列(如结果表)。
SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00', '10 hours');
generate_series
generate_series
---------------------
2008-03-01 00:00:00
2008-03-01 10:00:00
2008-03-01 20:00:00
2008-03-02 06:00:00
2008-03-02 16:00:00
2008-03-03 02:00:00
2008-03-03 12:00:00
2008-03-03 22:00:00
2008-03-04 08:00:00
编辑: 我能够使用以下代码生成我想要的时间序列,但无法将它们创建到 Redshift 中的表中。错误消息是:
“Redshift 表不支持指定的类型或函数(每条 INFO 消息一个)。”
SELECT '2017-01-01 00:00:00'::timestamp + x * interval'1 hour' AS Date_Time
FROM generate_series(0, 1000 * 24) AS g(x)
任何想法如何将其创建到 Redshift 中的表中?谢谢。
【问题讨论】:
-
不要用 PostgreSQL 8.0 开发新东西
-
请不要使用这个版本!
-
抱歉,我忘了提到我们正在使用不支持 generate_series 的 Amazon Redshift 创建表。 i686-pc-linux-gnu 上的 PostgreSQL 8.0.2,由 GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)、Redshift 1.0.3906 编译。
标签: sql amazon-redshift