Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

PostgreSQL

Choisissez la catégorie, puis la rubrique :

9.10. Fonctions de support enum

Pour les types enum (décrit dans Section 8.7, « Types énumération »), il existe plusieurs fonctions qui autorisent une programmation plus claire sans coder en dur les valeurs particulières d'un type enum. Elles sont listées dans Tableau 9.29, « Fonctions de support enum ». Les exemples supposent un type enum créé ainsi :

CREATE TYPE couleurs AS ENUM ('rouge', 'orange', 'jaune', 'vert', 'bleu', 'violet');

Tableau 9.29. Fonctions de support enum

Fonction Description Exemple Résultat de l'exemple
enum_first(anyenum) Renvoie la première valeur du type enum en entrée enum_first(null::couleurs) rouge
enum_last(anyenum) Renvoie la dernière valeur du type enum en entrée enum_last(null::couleurs) violet
enum_range(anyenum) Renvoie toutes les valeurs du type enum en entrée dans un tableau trié enum_range(null::couleurs) {rouge,orange,jaune,vert,bleu,violet}
enum_range(anyenum, anyenum) Renvoie les éléments entre deux valeurs enum données dans un tableau trié. Les valeurs doivent être du même type enum. Si le premier paramètre est NULL, le résultat se termine avec la dernière valeur du type enum. enum_range('orange'::couleurs, 'vert'::couleurs) {orange,jaune,vert}
enum_range(NULL, 'vert'::couleurs) {rouge,orange,jaune,vert}
enum_range('orange'::couleurs, NULL) {orange,jaune,vert,bleu,violet}

En dehors de la forme à deux arguments de enum_range, ces fonctions ne tiennent pas compte de la valeur qui leur est fournie ; elles ne s'attachent qu'au type de donnée déclaré. NULL ou une valeur spécifique du type peut être passée, le résultat est le même. Il est plus commun d'appliquer ces fonctions à la colonne d'une table ou à l'argument d'une fonction qu'à un nom de type en dur, comme le suggèrent les exemples.

Contacter le responsable de la rubrique PostgreSQL

Partenaire : Hébergement Web