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.