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.