Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trouver un élément de liste à une position spécifiée dans MySQL

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,...)

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.