Pergunta

Aqui está a consulta básica que desejo realizar no banco de dados Greenplum (como postgresql 8.2.15).

O campo create_date na tabela t é carimbo de data/hora sem fuso horário.Alguém poderia me indicar a consulta correta para fazer isso?Obrigado.

select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))

É um erro de lançamento

ERROR:  function generate_series(double precision, double precision) does not exist

LINHA 1:selecione * de generate_series ((selecione EXTRACT (ANO DE MI...^ Dica:Nenhuma função corresponde ao nome e aos tipos de argumento fornecidos.Pode ser necessário adicionar conversões de tipo explícitas.

Foi útil?

Solução

Você pode converter argumentos explicitamente para inteiros:

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
)

demonstração de violino sql

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top