这是我想在Greenplum数据库中完成的非常基本的查询(如postgresql 8.2.15)。
表t中的字段create_date是没有时区的时间戳。 有人能指出我正确的查询来完成这个吗?感谢。
select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))
抛出错误
ERROR: function generate_series(double precision, double precision) does not exist
第1行:从generate_series中选择*(选择EXTRACT(年份来自MI ...) ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
答案 0 :(得分:3)
您可以显式地将参数转换为整数:
select *
from generate_series (
(select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1)::int,
(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1)::int
)
<强> sql fiddle demo 强>