Dans MySQL, vous pouvez utiliser le ELT()
fonction pour renvoyer un élément de liste à une position donnée dans la liste.
La syntaxe ressemble à ceci :
ELT(N,str1,str2,str3,...)
Où N
est la position de l'élément que vous souhaitez renvoyer, et str1,str2,str3,...
est la liste.
Exemple
Voici un exemple :
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Résultat :
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
Dans ce cas on précise qu'on veut retourner le 3ème élément de la liste (car le premier argument est 3
). Et dans ce cas, la liste est 'Marge', 'Homer', 'Bart'
, donc le 3ème élément est Bart
.
Numéros
Voici un exemple contenant des nombres :
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Résultat :
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Exemple de base de données
Voici un exemple où j'associe les résultats d'une requête de base de données à une liste de valeurs :
SELECT GenreId, ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Résultat :
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
Dans ce cas, il y avait plus de résultats que j'ai inclus en tant que paramètres, par conséquent, ces résultats sont NULL
.
Le ELT()
la fonction est un complément au FIELD()
fonction, qui permet de trouver la position d'index d'un élément donné dans une liste.