Mevlüt Becerikli

Basit diye bir ÅŸey yok !!! Bilmeyene 2+2 bile zor…

DECODE & IF arasındaki farklar

Yazan: Mevlüt Becerikli Tarih: Oca 3rd, 2010 | Kategori:: Oracle, PL/SQL, SQL, Veritabanı

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…



2 Yorum Yapilmis » “DECODE & IF arasındaki farklar”

  1. 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 kullanicilarim

    mustafa y.

  2. Eline saÄŸlık Mustafa…

Yorum Yapin