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.