sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man hittar ett listobjekt på en specificerad position i SQL Server

Från och med SQL Server 2012 kan du använda T-SQL CHOOSE() funktion för att hitta ett listobjekt på en angiven indexposition i en lista.

Syntaxen ser ut så här:

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

Där index är ett heltal som representerar positionen i listan som du vill returnera.

Exempel

Här är ett exempel:

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

Resultat:

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

I det här fallet vill vi hitta objektet i position 3. Artikeln i position 3 är Bart .

Ett databasexempel

Här är ett exempel där jag matchar ett GenreId kolumn med en lista över genrer:

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

Resultat:

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

Observera att i det här fallet är null värden  returneras eftersom det fanns fler resultat än som angavs som argument.


  1. Vad är skillnaden mellan enkla citattecken och dubbla citattecken i PostgreSQL?

  2. Insamlingsmetod:DELETE-procedur i Oracle Database

  3. Hur man returnerar antalet sekunder efter midnatt i Oracle Database

  4. MySQL/PHP-fel:[2002] Endast en användning av varje socketadress (protokoll/nätverksadress/port) är normalt tillåten