Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

PL SQL Decode Fonksiyonu

Decode fonksiyonu IF-THEN-ELSE yapısını sorgu içerisinde kolayca yapmamızı sağlar.

 

DECODE(kolon_adi,koşul1,deger1,koşul2,deger2,. . .);

Burada kolonun değeri şu ise değer şu olsun şu ise şu olsun kolayca dememizi sağlıyor. Örneğin şöyle bir şeye ihtiyacınız oldu ; id alanınız var ve siz 1-10 arası kayıtlarınızı katagori1 11-20 arası kayıtlarınızı katagori2 olarak select sorgunuzda göstermek istiyorsunuz.

SELECT id,DECODE(trunc ((id – 1) / 10),0,’katogori1′,1,’katagori2′,2)  FROM TabloAdi

Veya

If yrs_of_service < 1 then return 0.04
If yrs_of_service >= 1 and < 5 then return 0.04
If yrs_of_service > 5 then return 0.06

gibi bir şey yapmak istiyoruz.Sorgusu aşağıdaki gibi olacaktır.1 den küçük değerler için 0,04 yazacaktır.

 

SELECT emp_name,
decode(trunc (( yrs_of_service + 3) / 4), 0, 0.04,
  1, 0.04,
    0.06) as perc_value
FROM employees;

 

 

Detaylar için http://www.techonthenet.com/oracle/functions/decode.php adresini inceleyebilirsiniz.

April 30, 2009 - Posted by | Oracle | , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s