Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment rechercher un élément de liste à une position spécifiée dans SQL Server

À 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 ] )

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.