sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan finder du et listeelement på en specificeret position i SQL Server

Fra SQL Server 2012 kan du bruge T-SQL CHOOSE() funktion til at finde et listeelement på en specificeret indeksposition på en liste.

Syntaksen ser sådan ud:

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

Hvor index er et heltal, der repræsenterer den position på listen, som du vil returnere.

Eksempel

Her er et eksempel:

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

Resultat:

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

I dette tilfælde ønsker vi at finde varen på position 3. Elementen på position 3 er Bart .

Et databaseeksempel

Her er et eksempel, hvor jeg matcher en GenreId kolonne med en liste over 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   

Bemærk, at i dette tilfælde null værdier  returneres, fordi der var flere resultater, end der blev angivet som argument.


  1. Slet tilsluttede brugere i Oracle-databasen

  2. Hvordan bruger man CASE Statement i MySQL?

  3. Hvad er MariaDB Enterprise, og hvordan administreres det med ClusterControl?

  4. Sådan laver du sql-tuning i Oracle