Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak znaleźć element listy w określonej pozycji w SQL Server

Począwszy od SQL Server 2012, możesz użyć T-SQL CHOOSE() funkcja, aby znaleźć element listy w określonej pozycji indeksu na liście.

Składnia wygląda tak:

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

Gdzie index to liczba całkowita reprezentująca pozycję na liście, którą chcesz zwrócić.

Przykład

Oto przykład:

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

Wynik:

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

W tym przypadku chcemy znaleźć element na pozycji 3. Element na pozycji 3 to Bart .

Przykład bazy danych

Oto przykład, w którym dopasowuję GenreId kolumna z listą gatunków:

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

Wynik:

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

Zwróć uwagę, że w tym przypadku null wartości są zwracane, ponieważ było więcej wyników niż podano jako argument.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Salesforce SOQL z SQL Server

  2. Grupy Concat w SQL Server

  3. DATEDIFF() vs DATEDIFF_BIG() w SQL Server:jaka jest różnica?

  4. Jak zidentyfikować duplikację klucza podstawowego z kodu błędu programu SQL Server 2008?

  5. Jak porównać wersje oprogramowania za pomocą SQL Server?