Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como encontrar um item de lista em uma posição especificada no SQL Server


A partir do SQL Server 2012, você pode usar o T-SQL CHOOSE() função para localizar um item de lista em uma posição de índice especificada dentro de uma lista.

A sintaxe fica assim:
CHOOSE ( index, val_1, val_2 [, val_n ] )

Onde index é um inteiro que representa a posição na lista que você deseja retornar.

Exemplo


Aqui está um exemplo:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';

Resultado:
Who is at 3?
------------
Bart        

Nesse caso, queremos encontrar o item na posição 3. O item na posição 3 é Bart .

Um exemplo de banco de dados


Aqui está um exemplo onde eu combino um GenreId coluna com uma lista de gêneros:
SELECT 
    GenreId, 
    CHOOSE(GenreId, 'Rock', 'Jazz', 'Country') AS Genre 
FROM Genres;

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

Observe que, nesse caso, o valor null valores são retornados porque houve mais resultados do que os fornecidos como argumento.