Fra SQL Server 2012 kan du bruge T-SQL CHOOSE()
funktion til at finde et listeelement på en specificeret indeksposition på en liste.
Syntaksen ser sådan ud:
CHOOSE ( index, val_1, val_2 [, val_n ] )
Hvor index
er et heltal, der repræsenterer den position på listen, som du vil returnere.
Eksempel
Her er et eksempel:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultat:
Who is at 3? ------------ Bart
I dette tilfælde ønsker vi at finde varen på position 3. Elementen på position 3 er Bart
.
Et databaseeksempel
Her er et eksempel, hvor jeg matcher en GenreId
kolonne med en liste over 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
Bemærk, at i dette tilfælde null
værdier returneres, fordi der var flere resultater, end der blev angivet som argument.