我尝试了以下方法:
SELECT * FROM generate_series(2,4);
generate_series
-----------------
2
3
4
(3 rows)
SELECT * FROM generate_series(5,1,-2);
generate_series
-----------------
5
3
1
(3 rows)
但是当我尝试时,
select * from generate_series('2011-12-31'::timestamp, '2012-12-31'::timestamp, '1 day');
它产生了错误。
ERROR: function generate_series(timestamp without time zone, timestamp without time zone, "unknown") does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.
我在 Redshift 1.0.757 上使用 PostgreSQL 8.0.2。
知道为什么会这样吗?
更新:
generate_series 现在正在使用 Redshift。
SELECT CURRENT_DATE::TIMESTAMP - (i * interval '1 day') as date_datetime
FROM generate_series(1,31) i
ORDER BY 1
这将生成最近 30 天的日期