In MySQL, puoi usare ELT() funzione per restituire un elemento dell'elenco in una determinata posizione nell'elenco.
La sintassi è questa:
ELT(N,str1,str2,str3,...)
Dove N è la posizione dell'articolo che vuoi restituire e str1,str2,str3,... è l'elenco.
Esempio
Ecco un esempio:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Risultato:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
In questo caso specifichiamo di voler restituire il 3° elemento della lista (perché il primo argomento è 3 ). E in questo caso l'elenco è 'Marge', 'Homer', 'Bart' , quindi il terzo elemento è Bart .
Numeri
Ecco un esempio contenente i numeri:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Risultato:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Esempio di database
Ecco un esempio in cui abbino i risultati di una query di database a un elenco di valori:
SELECT
GenreId,
ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre
FROM Genres;
Risultato:
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
In questo caso c'erano più risultati di quelli che ho incluso come parametri, quindi quei risultati sono NULL .
Il ELT() la funzione è un complemento di FIELD() funzione, che permette di trovare la posizione di indice di un dato elemento in un elenco.