No MySQL, você pode usar o
ELT()
função para retornar um item de lista em uma determinada posição na lista. A sintaxe fica assim:
ELT(N,str1,str2,str3,...)
Onde
N
é a posição do item que você deseja retornar e str1,str2,str3,...
é a lista. Exemplo
Aqui está um exemplo:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultado:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
Neste caso especificamos que queremos devolver o 3º item da lista (porque o primeiro argumento é
3
). E, neste caso, a lista é 'Marge', 'Homer', 'Bart'
, então o terceiro item é Bart
. Números
Aqui está um exemplo contendo números:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Resultado:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Exemplo de banco de dados
Aqui está um exemplo em que combino os resultados de uma consulta de banco de dados com uma 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 | +---------+---------+
Nesse caso, houve mais resultados do que incluí como parâmetros, portanto, esses resultados são
NULL
. O
ELT()
função é um complemento para o FIELD()
função, que permite encontrar a posição do índice de um determinado item em uma lista.