W MySQL możesz użyć ELT() funkcja zwracająca element listy na danej pozycji na liście.
Składnia wygląda tak:
ELT(N,str1,str2,str3,...)
Gdzie N jest pozycją elementu, który chcesz zwrócić, a str1,str2,str3,... to lista.
Przykład
Oto przykład:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Wynik:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
W tym przypadku określamy, że chcemy zwrócić trzecią pozycję na liście (ponieważ pierwszym argumentem jest 3 ) . W tym przypadku lista to 'Marge', 'Homer', 'Bart' , więc trzecią pozycją jest Bart .
Liczby
Oto przykład zawierający liczby:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Wynik:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Przykład bazy danych
Oto przykład, w którym dopasowuję wyniki zapytania do bazy danych do listy wartości:
SELECT
GenreId,
ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre
FROM Genres;
Wynik:
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
W tym przypadku było więcej wyników niż uwzględniłem jako parametry, dlatego te wyniki są NULL .
ELT() funkcja jest uzupełnieniem FIELD() funkcja, która pozwala znaleźć pozycję indeksu danej pozycji na liście.