Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
SQL Server'daki değerler listesinden belirtilen indeksteki öğeyi döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
CHOOSE ( index, val_1, val_2 [, val_n ] )
Arguments
dizin
Bir tam sayı ifadesidir ve ardından gelen öğeler listesine 1 tabanlı bir indeks eklenmiştir.
Eğer verilen indeks değeri int'den farklı bir sayısal veri türüne sahipse, değer örtük olarak tam sayıya dönüştürülür. Eğer indeks değeri değer dizisi sınırlarını aşarsa, SELECT null döner.
val_1 ... val_n
Herhangi bir veri türünden virgülle ayrılmış değerlerin listesi.
Dönüş Türleri
Fonksiyona aktarılan tipler kümesinden en yüksek önceliğe sahip veri tipini döndürür. Daha fazla bilgi için bkz. Veri Türü Önceliği (Transact-SQL).
Açıklamalar
CHOOSE, dizinin dizinin ardındaki argümanlardan oluştuğu bir dizinin içine bir indeks gibi davranır. İndeks argümanı, aşağıdaki değerlerden hangisinin geri döneceğini belirler.
Örnekler
A. Basit SELECT örneği
Aşağıdaki örnek, verilen değerler listesinden üçüncü öğeyi geri getirir.
SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;
Sonuç kümesi aşağıdadır.
Result
-------------
Developer
(1 row(s) affected)
B. Sütuna dayalı basit SELECT örneği
Aşağıdaki örnek, sütundaki ProductCategoryID değere dayalı basit bir karakter dizisi döndürür.
USE AdventureWorks2022;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;
Sonuç kümesi aşağıdadır.
ProductCategoryID Expression1
----------------- -----------
3 C
1 A
2 B
4 D
(4 row(s) affected)
C. AY ile birlikte SELECT
Aşağıdaki örnek, bir ürün modelinin en son değiştirildiği sezonu geri getirir. Fonksiyon, MONTH sütundan ModifiedDateay değerini döndürmek için kullanılır. Bu CHOOSE fonksiyon, Kuzey Yarımküre mevsimini atamak için kullanılır. Bu örnek, yeni bir Azure SQL Veritabanı için örnek veritabanı olarak hızlıca kurulabilen veritabanını AdventureWorksLT kullanır. Daha fazla bilgi için bkz. AdventureWorks örnek veritabanları.
SELECT Name, ModifiedDate,
CHOOSE(MONTH(ModifiedDate),'Winter','Winter', 'Spring','Spring','Spring','Summer','Summer',
'Summer','Autumn','Autumn','Autumn','Winter') AS Quarter_Modified
FROM SalesLT.ProductModel AS PM
WHERE Name LIKE '%Frame%'
ORDER BY ModifiedDate;
Sonuç kümesi aşağıdadır.
Name ModifiedDate Quarter_Modified
--------------------------- ----------------------- ----------------
HL Road Frame 2002-05-02 00:00:00.000 Spring
HL Mountain Frame 2005-06-01 00:00:00.000 Summer
LL Road Frame 2005-06-01 00:00:00.000 Summer
ML Road Frame 2005-06-01 00:00:00.000 Summer
ML Road Frame-W 2006-06-01 00:00:00.000 Summer
ML Mountain Frame 2006-06-01 00:00:00.000 Summer
ML Mountain Frame-W 2006-06-01 00:00:00.000 Summer
LL Mountain Frame 2006-11-20 09:56:38.273 Autumn
HL Touring Frame 2009-05-16 16:34:28.980 Spring
LL Touring Frame 2009-05-16 16:34:28.980 Spring
(10 rows affected)