À partir de SQL Server 2012, vous pouvez utiliser le T-SQL CHOOSE()
fonction pour trouver un élément de liste à une position d'index spécifiée dans une liste.
La syntaxe ressemble à ceci :
CHOOSE ( index, val_1, val_2 [, val_n ] )
Où index
est un entier qui représente la position dans la liste que vous souhaitez renvoyer.
Exemple
Voici un exemple :
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Résultat :
Who is at 3? ------------ Bart
Dans ce cas, nous voulons trouver l'élément en position 3. L'élément en position 3 est Bart
.
Un exemple de base de données
Voici un exemple où je fais correspondre un GenreId
colonne avec une liste de genres :
SELECT GenreId, CHOOSE(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Résultat :
GenreId Genre ------- ------- 1 Rock 2 Jazz 3 Country 4 null 5 null 6 null 7 null 8 null
Notez que dans ce cas, le null
les valeurs sont renvoyées, car il y avait plus de résultats que ceux fournis en tant qu'argument.