sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo encontrar un elemento de lista en una posición específica en SQL Server

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.