Ab SQL Server 2012 können Sie T-SQL CHOOSE()
verwenden Funktion, um ein Listenelement an einer bestimmten Indexposition innerhalb einer Liste zu finden.
Die Syntax lautet wie folgt:
CHOOSE ( index, val_1, val_2 [, val_n ] )
Wobei index
ist eine Ganzzahl, die die Position innerhalb der Liste darstellt, die Sie zurückgeben möchten.
Beispiel
Hier ist ein Beispiel:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Ergebnis:
Who is at 3? ------------ Bart
In diesem Fall möchten wir das Element an Position 3 finden. Das Element an Position 3 ist Bart
.
Ein Datenbankbeispiel
Hier ist ein Beispiel, in dem ich eine GenreId
abgleiche Spalte mit einer Liste von Genres:
SELECT GenreId, CHOOSE(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Ergebnis:
GenreId Genre ------- ------- 1 Rock 2 Jazz 3 Country 4 null 5 null 6 null 7 null 8 null
Beachten Sie, dass in diesem Fall null
-Werte werden zurückgegeben, da mehr Ergebnisse vorhanden waren, als als Argument angegeben wurden.