A partir de SQL Server 2012, puede usar T-SQL CHOOSE()
función para encontrar un elemento de lista en una posición de índice especificada dentro de una lista.
La sintaxis es así:
CHOOSE ( index, val_1, val_2 [, val_n ] )
Donde index
es un número entero que representa la posición dentro de la lista que desea devolver.
Ejemplo
He aquí un ejemplo:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Resultado:
Who is at 3? ------------ Bart
En este caso, queremos encontrar el elemento en la posición 3. El elemento en la posición 3 es Bart
.
Un ejemplo de base de datos
Aquí hay un ejemplo en el que coincido con un GenreId
columna con una 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
Tenga en cuenta que, en este caso, el null
se devuelven valores porque hubo más resultados de los que se proporcionaron como argumento.