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.