sql >> Base de Datos >  >> RDS >> Mysql

Cómo encontrar un elemento de lista en una posición específica en MySQL

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.