Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come trovare una voce di elenco in una posizione specificata in SQL Server

A partire da SQL Server 2012, puoi utilizzare T-SQL CHOOSE() funzione per trovare un elemento di un elenco in una posizione di indice specificata all'interno di un elenco.

La sintassi è questa:

CHOOSE ( index, val_1, val_2 [, val_n ] )

Dove index è un numero intero che rappresenta la posizione all'interno dell'elenco che si desidera restituire.

Esempio

Ecco un esempio:

SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';

Risultato:

Who is at 3?
------------
Bart        

In questo caso, vogliamo trovare l'articolo in posizione 3. L'articolo in posizione 3 è Bart .

Un esempio di database

Ecco un esempio in cui abbino un GenreId colonna con un elenco di generi:

SELECT 
    GenreId, 
    CHOOSE(GenreId, 'Rock', 'Jazz', 'Country') AS Genre 
FROM Genres;

Risultato:

GenreId  Genre  
-------  -------
1        Rock   
2        Jazz   
3        Country
4        null   
5        null   
6        null   
7        null   
8        null   

Tieni presente che in questo caso, null vengono restituiti i valori perché c'erano più risultati di quelli forniti come argomento.