I MySQL kan du bruge ELT()
funktion for at returnere et listeelement på en given position på listen.
Syntaksen ser sådan ud:
ELT(N,str1,str2,str3,...)
Hvor N
er positionen for den vare, du vil returnere, og str1,str2,str3,...
er listen.
Eksempel
Her er et eksempel:
SELECT ELT(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultat:
+--------------+ | Who is at 3? | +--------------+ | Bart | +--------------+
I dette tilfælde angiver vi, at vi ønsker at returnere det 3. element på listen (fordi det første argument er 3
). Og i dette tilfælde er listen 'Marge', 'Homer', 'Bart'
, så det 3. element er Bart
.
Numre
Her er et eksempel, der indeholder tal:
SELECT ELT(3, 9, 8, 7) AS 'The 3rd item is...';
Resultat:
+--------------------+ | The 3rd item is... | +--------------------+ | 7 | +--------------------+
Databaseeksempel
Her er et eksempel, hvor jeg matcher resultaterne af en databaseforespørgsel til en liste over værdier:
SELECT GenreId, ELT(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Resultat:
+---------+---------+ | GenreId | Genre | +---------+---------+ | 1 | Rock | | 2 | Jazz | | 3 | Country | | 4 | NULL | | 5 | NULL | | 6 | NULL | | 7 | NULL | | 8 | NULL | +---------+---------+
I dette tilfælde var der flere resultater end jeg inkluderede som parametre, derfor er disse resultater NULL
.
ELT()
funktion er et supplement til FIELD()
funktion, der giver dig mulighed for at finde indekspositionen for et givet element på en liste.