Case ve Decode Kullanımı

    Case  ifadesi koşullarımızı, şartlarımızı toplu bir biçimde sorgumuza yazmamızı ve şartımıza uyanlara operasyon yapmamızı sağlar ve işimizi kolaylaştırır. Decode ye göre daha okunaklıdır. 
    Aşağıdaki örnekte job_id si IT_PROG olanları 1.10 ile , ST_CLERK olanları 1.15 ile SA_REP olanları 1.20 ile çarpıp koşulların dışındaki satırlara ise salary değerini yazdıralım

SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'SH_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"    FROM employees;

        Aynı örneği decode ile yapalım.
   Decodenin case den farkı "when" , "then" , "else" ifadelerinin yerine "," virgül kullanılır.

SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'SH_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY  FROM employees;




Hiç yorum yok:

Yorum Gönder