Bắt đầu từ SQL Server 2012, bạn có thể sử dụng T-SQL CHOOSE()
chức năng tìm một mục danh sách tại một vị trí chỉ mục được chỉ định trong danh sách.
Cú pháp như sau:
CHOOSE ( index, val_1, val_2 [, val_n ] )
Trong đó index
là một số nguyên đại diện cho vị trí trong danh sách mà bạn muốn trả về.
Ví dụ
Đây là một ví dụ:
SELECT CHOOSE(3, 'Marge', 'Homer', 'Bart') AS 'Who is at 3?';
Kết quả:
Who is at 3? ------------ Bart
Trong trường hợp này, chúng tôi muốn tìm mục ở vị trí 3. Mục ở vị trí 3 là Bart
.
Một ví dụ về cơ sở dữ liệu
Đây là một ví dụ mà tôi đối sánh với một GenreId
cột có danh sách các thể loại:
SELECT GenreId, CHOOSE(GenreId, 'Rock', 'Jazz', 'Country') AS Genre FROM Genres;
Kết quả:
GenreId Genre ------- ------- 1 Rock 2 Jazz 3 Country 4 null 5 null 6 null 7 null 8 null
Lưu ý rằng trong trường hợp này, null
các giá trị được trả về vì có nhiều kết quả hơn được cung cấp dưới dạng đối số.