İlk önce CHOOSE fonksiyonundan bahsedecek olursak bu fonksiyon kullanılabilir değerlerin listesinden belirtilen dizindeki öğeyi döndürür. Aşağıki örnek seçeneklerden 3. değeri seçmek istiyoruz.
SELECT 'New
SQL Server Release'
= CHOOSE(3, 'SQL Server 2008', 'SQL Server 2008 R2',
'SQL Server 2012')
GO
Use [AdventureWorks2014]
GO
SELECT
DISTINCT(FirstName + ' ' + LastName) AS Name
,DATEPART(DD, ModifiedDate) AS [Date]
,CHOOSE(DATEPART(MM,ModifiedDate),'January','February','March','April','May','June',
'July','August','September','October','November','December')[Month]
,DATEPART(YYYY, ModifiedDate) AS [Year]
FROM [Person].[Person]
ORDER BY Name ASC
IIF fonksiyonu ise boolean verileri karşılaştırarak iki değerden bir tanesini döndürür. Aşağıdaki örnekte StateProvinceCode 0 ile 95 arasındaysa Fransa aksi takdirde Kanada değerini söndürecektir.
SELECT
StateProvinceCode
,CountryRegionCode
,IIF(TRY_PARSE(StateProvinceCode AS INT) Between 0 AND 95,'France','Canada') AS Country
FROM Person.StateProvince
WHERE StateProvinceCode IN ('95','AB')