V MySQL můžete použít ELT()
funkce pro vrácení položky seznamu na danou pozici v seznamu.
Syntaxe vypadá takto:
ELT(N,str1,str2,str3,...)
Kde N
je pozice položky, kterou chcete vrátit, a str1,str2,str3,...
je seznam.
Příklad
Zde je příklad:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Výsledek:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
V tomto případě určíme, že chceme vrátit 3. položku v seznamu (protože první argument je 3
). A v tomto případě je seznam 'Marge', 'Homer', 'Bart'
, takže 3. položka je Bart
.
Čísla
Zde je příklad obsahující čísla:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Výsledek:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Příklad databáze
Zde je příklad, kdy porovnám výsledky databázového dotazu se seznamem hodnot:
SELECT GenreId, ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Výsledek:
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
V tomto případě bylo více výsledků, než jsem uvedl jako parametry, proto jsou tyto výsledky NULL
.
ELT()
funkce je doplněk k FIELD()
funkce, která vám umožní najít pozici indexu dané položky v seznamu.