Documentation PostgreSQL 8.1.23 > Langage SQL > Fonctions et opérateurs > Fonctions renvoyant des ensembles | |
Comparaisons de lignes et de tableaux | Fonctions d'informations système |
Cette section décrit des fonctions qui peuvent renvoyer plus d'une ligne. Actuellement, les seules fonctions dans cette classe sont les séries générant des fonctions, comme détaillé dans le Tableau 9.38, « Séries générant des fonctions ».
Tableau 9.38. Séries générant des fonctions
Fonction | Type d'argument | Type de retour | Description |
---|---|---|---|
generate_series (début, fin) | int ou bigint | setof int ou setof bigint (même type qu'en argument) | Génère une série de valeurs, commençant à début pour finir à fin avec un incrément de un. |
generate_series (début, fin, étape) | int ou bigint | setof int ou setof bigint (même type qu'en argument) | Génère une série de valeurs, commençant à début pour finir à fin avec un incrément de étape. |
Quand étape est positif, aucune ligne n'est renvoyée si début est plus grand que fin. Au contraire, quand étape est négatif, aucune ligne n'est renvoyée si début est plus petit que fin. De même, aucune ligne n'est renvoyée pour les entrées NULL. Si étape vaut zéro, c'est considéré comme une erreur. Quelques exemples suivent :
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)