Amazon Redshift 中的 generate_series 函数 [英] generate_series function in Amazon Redshift
本文介绍了Amazon Redshift 中的 generate_series 函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试了以下方法:
SELECT * FROM generate_series(2,4);生成系列-----------------234(3 行)SELECT * FROM generate_series(5,1,-2);生成系列-----------------531(3 行)
但是当我尝试时,
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") 不存在提示:没有函数匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我在 Redshift 1.0.757 上使用 PostgreSQL 8.0.2.
知道为什么会这样吗?
更新:
generate_series 现在正在使用 Redshift.
SELECT CURRENT_DATE::TIMESTAMP - (i * interval '1 day') as date_datetimeFROM generate_series(1,31) i按 1 订购
这将生成过去 30 天的日期
解决方案
generate_series 现在正在与 Redshift 合作.
SELECT CURRENT_DATE::TIMESTAMP - (i * interval '1 day') as date_datetimeFROM generate_series(1,31) i按 1 订购
这将生成过去 30 天的日期
I tried the below:
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)
But when I try,
select * from generate_series('2011-12-31'::timestamp, '2012-12-31'::timestamp, '1 day');
It generated error.
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.
I use PostgreSQL 8.0.2 on Redshift 1.0.757.
Any idea why it happens?
UPDATE:
generate_series is working with Redshift now.
SELECT CURRENT_DATE::TIMESTAMP - (i * interval '1 day') as date_datetime
FROM generate_series(1,31) i
ORDER BY 1
This will generate last 30 days date
解决方案
generate_series is working with Redshift now.
SELECT CURRENT_DATE::TIMESTAMP - (i * interval '1 day') as date_datetime
FROM generate_series(1,31) i
ORDER BY 1
This will generate last 30 days date
这篇关于Amazon Redshift 中的 generate_series 函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文