DECODE & IF arasındaki farklar
Farklar :
- DECODE, IF-THEN-ELSE in basit versiyonudur.
- DECODE sadece eÅŸitlik operatörünü kullanırken, IF-THEN-ELSE ifadesi tüm koÅŸul operatörlerini (=, !=, <, <=, > , >=, LIKE, NOT LINKE, IS NULL, IS NOT NUL … vs) kullanır.
- DECODE, tek bir koşulu içerirken, IF-THEN-ELSE ifadesi AND/OR operatörleri yardımı ile birden çok koşulu bir arada birleşik içerebilir.
- DECODE bir veritabanı fonksiyonu olup tekbir ifade döndürdüğü için bir SQL cümleciÄŸi içinde kullanılabilirken, IF-THEN-ELSE ifadesi, bir PL/SQL ifadesi olup sadece PL/SQL bloklarının içinde kullanılabilir (SQL ifadeleri içinde kullanılan bir diÄŸer koÅŸul ifadesi de CASE’ dir).
İyi Çalışmalar…


SQL ifadeleri içinde IF-THEN-ELSE benzeri bir kullanıma ihtiyac olursa CASE-WHEN-THEN-END ifadesine başvurulabilir. Çok taklalar attım şimdiye kadar bu ifade ile
Örnek;
aÅŸağıdaki sorgu; tablodan ad,soyad,yas bilgileri ile beraber yas alaninin degerine bagli olarak yas kategorisi bilgisini dondurmekte, yas 1′den kucuk ise bebek, 13′ten küçük ise çocuk, 21′den küçük ise genç ve diÄŸer bütün durumlarda yetiÅŸkin.
select ad,soyad,yas,(case when yas<1 then 'bebek' when yas<13 then 'cocuk' when yas<21 then 'genc' else 'yetiskin' end) as yas_kategorisi from kullanicilarimmustafa y.
Eline saÄŸlık Mustafa…