Започвайки от 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
стойностите се връщат, защото имаше повече резултати, отколкото бяха предоставени като аргумент.