26 Haziran 2017 Pazartesi

Sql Server IIF ve CHOOSE Fonksiyonları

Bu yazımda sizlere SQL Server 2012 ile birlikte gelen IIF ve CHOOSE mantıksal fonksiyonlarından bahsetmek istiyorum.

İ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

Aşağıdaki örnekte ise CHOOSE fonksiyonu ayın değerini döndürmek için kullanılmıştır.
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')


Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

  SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...