PostgreSQLLa base de données la plus sophistiquée au monde.

9.21. Fonctions retournant des ensembles

Cette section décrit des fonctions qui peuvent renvoyer plus d'une ligne. Actuellement, les seules fonctions dans cette classe sont les fonctions de génération de séries, détaillées dans le Tableau 9.43, « Fonctions de génération de séries ».

Tableau 9.43. Fonctions de génération de séries

Fonction Type d'argument Type de retour Description
generate_series (début, fin) int ou bigint setof int ou setof bigint (même type que l' argument) Produit une série de valeurs, de début à fin avec un incrément de un.
generate_series (début, fin, pas) int ou bigint setof int ou setof bigint (même type que l'argument) Produit une série de valeurs, de début à fin avec un incrément de pas.

Quand pas est positif, aucune ligne n'est renvoyée si début est supérieur à fin. À l'inverse, quand pas est négatif, aucune ligne n'est renvoyée si début est inférieur à fin. De même, aucune ligne n'est renvoyée pour les entrées NULL. Une erreur est levée si pas vaut zéro.

Quelques exemples :

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)

select * from generate_series(4,3);
 generate_series
-----------------
(0 rows)

select current_date + s.a as dates from generate_series(0,14,7) as s(a);
    dates
------------
 2004-02-05
 2004-02-12
 2004-02-19
(3 rows)