sql >> Database >  >> RDS >> Sqlserver

Een lijstitem vinden op een opgegeven positie in SQL Server

Vanaf SQL Server 2012 kunt u de T-SQL CHOOSE() . gebruiken functie om een ​​lijstitem te vinden op een gespecificeerde indexpositie in een lijst.

De syntaxis gaat als volgt:

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

Waar index is een geheel getal dat de positie in de lijst vertegenwoordigt die u wilt retourneren.

Voorbeeld

Hier is een voorbeeld:

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

Resultaat:

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

In dit geval willen we het item op positie 3 vinden. Het item op positie 3 is Bart .

Een databasevoorbeeld

Hier is een voorbeeld waarin ik een GenreId match kolom met een lijst met genres:

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

Resultaat:

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

Houd er rekening mee dat in dit geval de null waarden  worden geretourneerd omdat er meer resultaten waren dan als argument werden opgegeven.


  1. Hoe kan ik ervoor zorgen dat mijn postgresql-database een hoofdletterongevoelige sortering gebruikt?

  2. Retourneer het partitienummer voor elke rij bij het opvragen van een gepartitioneerde tabel in SQL Server (T-SQL)

  3. Hoe invoegen in dezelfde tabel in MySQL?

  4. PowerShell verbinden met Salesforce.com