Etiketler

, ,


SQL Server 2012 | Yenilikler | IIF ( PL-SQL | DECODE ) | CHOOSE

T-SQL’de uzun zamandır beklediğim bir fonksiyonun nihayet SQL Server 2012 ile beraber artık hayatımıza girmekte. Her ne kadar henüz PL-SQL tarafındaki DECODE fonksiyonu kadar yetenekli olmasa da bu bile CASE-WHEN bloklarını bir nebze olsun azaltmaya yetecektir.


IIF(mantıksal_ifade, doğru_ise_sonuc, yanlis_ise_sonuc)

SELECT IIF ( PA.StateProvinceID = 79 , ‘+’, ‘-‘ ) AS [IFF]
, PA.StateProvinceID
, PA.City from Person.Address (NOLOCK) PA

TSQL - IFF  \\ PL-SQL - DECODE


PL-SQL tarafındaki Decode ile ilgili ayrıntılı bilgi için :  https://dervisali.wordpress.com/2006/06/02/pl-sql-oracle-fonksiyonlari-decode-nvl-nvl2/


IIF ile beraber gelen bir yeni fonksiyonda CHOOSE fonksiyonu. Bu fonksiyon ile de Case-When kurgunuzu bir nebze olsun azaltabilmeniz mümkün. CHOOSE sadece [index]’e göre çalışmakta ve veri kümenizden ilgili indeksdeki elemanı döndürmektedir. Index’in 0’dan değil 1’den başladığına dikkat etmeniz gerekir. Kullanımına ilişkin aşağıdaki, ayın ismini döndüren örneği incelleyebilirsiniz.

 CHOOSE(eleman_indeksi , eleman1, eleman2… elemanN)


Bu konu ile ilgili olarak aşağıdaki yazıları okumanızı öneririm.