Från och med SQL Server 2012 kan du använda T-SQL CHOOSE()
funktion för att hitta ett listobjekt på en angiven indexposition i en lista.
Syntaxen ser ut så här:
CHOOSE ( index, val_1, val_2 [, val_n ] )
Där index
är ett heltal som representerar positionen i listan som du vill returnera.
Exempel
Här är ett exempel:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultat:
Who is at 3? ------------ Bart
I det här fallet vill vi hitta objektet i position 3. Artikeln i position 3 är Bart
.
Ett databasexempel
Här är ett exempel där jag matchar ett GenreId
kolumn med en lista över genrer:
SELECT GenreId, CHOOSE(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
Observera att i det här fallet är null
värden returneras eftersom det fanns fler resultat än som angavs som argument.