这是我想要在Greenplum数据库中完成的基本查询(如postgreSQL 8.2.15)。

表T中的字段CREATE_DATE是TIMESTAMP W / O时区。 有谁可以指出我正确的查询来完成这一点?谢谢。

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行:选择* from generate_series((选择摘录(来自MI的年) ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型。

有帮助吗?

解决方案

您可以将参数显式扩展到整数:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top