Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да намерите елемент от списък на определена позиция в SQL Server

Започвайки от SQL Server 2012, можете да използвате T-SQL CHOOSE() функция за намиране на елемент от списък в определена позиция в индекса в списък.

Синтаксисът е така:

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

Където index е цяло число, което представлява позицията в списъка, която искате да върнете.

Пример

Ето един пример:

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

Резултат:

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

В този случай искаме да намерим артикула на позиция 3. Елементът на позиция 3 е Bart .

Пример за база данни

Ето пример, в който съпоставям GenreId колона със списък с жанрове:

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

Резултат:

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

Имайте предвид, че в този случай null стойностите  се връщат, защото имаше повече резултати, отколкото бяха предоставени като аргумент.


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

  2. Нови функции в SQL Server 2017 (Database Engine)

  3. Как да извлека записи за последните 30 минути в MS SQL?

  4. Изследване на SQL Server 2014 SELECT INTO Parallelism

  5. Използвайте TYPEPROPERTY() за връщане на информация за тип данни в SQL Server