Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Créer une liste de valeurs sur PostgreSQL

16/04/2020

Le SGBD PostreSQL permet d'utiliser une liste de valeurs précisées dans la requête comme s'il s'agissait d'une véritable table. Cette fonctionnalité peut être très utile lors de l'écriture de requête. Voici deux façons de créer ces listes de valeurs dynamiques.

Générer une liste de valeurs

La commande generate_series crée une liste de valeurs évoluant selon un pas régulier, en indiquant une valeur de début, une valeur de fin et facultativement la valeur à utiliser comme incrément.

generate_series( valeur_debut, valeur_fin, [incrément])

Par exemple, la commande suivante générera une réponse de 10 lignes de valeurs incrémentées de 1 :

SELECT generate_series(1,10) AS valeurs

Ce qui produit :

Créer dynamiquement une liste de valeurs non incrémentales / non numériques

La commande valuesoffre le même genre de fonctionnalité mais en gérant la création d'une liste avec des valeurs non incrémentales ou non numériques.

La commande suivante créera une liste des jours de la semaine :

SELECT semaine.jour
FROM (
 VALUES ('Lundi'),('Mardi'), ('Mercredi'), ('Jeudi'), ('Vendredi'), ('Samedi'), ('Dimanche')
 )  AS semaine(jour)

Ce qui produit :

Cette commande permet aussi d'avoir plusieurs colonnes de plusieurs types. En reprenant la requête précédente, on peut la faire évoluer ainsi :

SELECT *
FROM  (
 VALUES (1, 'Lundi'),(2, 'Mardi'), (3, 'Mercredi'), (4, 'Jeudi'), (5, 'Vendredi'), (6, 'Samedi'), (7, 'Dimanche')
 )  AS semaine(numero, jour)

Ce qui produit :

Dernière modification le 16/04/2020 - Quillevere.net

Rechercher sur le site

rss RSS info Informations