En MySQL, puede usar el ELT() función para devolver un elemento de lista en una posición dada en la lista.
La sintaxis es así:
ELT(N,str1,str2,str3,...)
Donde N es la posición del elemento que desea devolver y str1,str2,str3,... es la lista.
Ejemplo
He aquí un ejemplo:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultado:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
En este caso, especificamos que queremos devolver el tercer elemento de la lista (porque el primer argumento es 3 ) . Y en este caso la lista es 'Marge', 'Homer', 'Bart' , por lo que el tercer elemento es Bart .
Números
Aquí hay un ejemplo que contiene números:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Resultado:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Ejemplo de base de datos
Aquí hay un ejemplo en el que comparo los resultados de una consulta de base de datos con una lista de valores:
SELECT
GenreId,
ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre
FROM Genres;
Resultado:
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
En este caso hubo más resultados de los que incluí como parámetros, por lo tanto, esos resultados son NULL .
El ELT() La función es un complemento del FIELD() función, que le permite encontrar la posición de índice de un elemento dado en una lista.