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.