Question

Voici la requête très basique que je souhaite accomplir dans la base de données Greenplum (comme PostgreSQL 8.2.15).

Le champ Create_Date dans le tableau T est horodatage W / O fuseau horaire. Quelqu'un pourrait-il me dire à la bonne requête pour accomplir cela?Merci.

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

Son erreur de lancement

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

Ligne 1: Sélectionnez * à partir de Generate_series ((Sélectionnez l'extrait (année de MI ... ^ Astuce: Aucune fonction ne correspond au nom donné et aux types d'arguments.Vous devrez peut-être ajouter des moules de type explicites.

Était-ce utile?

La solution

Vous pouvez lancer explicitement des arguments en intiqueger:

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 Démo

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top