24 Temmuz 2015 Cuma

MYSQL'de CASE, IF,IFNULL ve NULLIF                        KULLANIMLARI


CASE

Case kullanımı MySql'de oldukça basit ve kullanışlı bir koşul ifadesidir.
 CASE kullanım şekli aşağıdaki gibidir :

SELECT alan1, alan2,
CASE alan3
WHEN 'deger1' THEN 'deger1a'
..
..
WHEN 'degern' THEN 'degerna'
ELSE 'ön tanımlı değer'
END
FROM tablo

 Elimizde böyle bir tablo olsun. Case'in nasıl kullanıldığına bakalım.















Yukarda görüldüğü gibi case koşul ifadesindeki kodlarımızı yazdık ve sonucu da aşağıdak tablodan görebilirsiniz. Kodumuzda popularitesi 8 den büyükse popüler, 8-5 arasıysa okunmalı, 5 den küçükse gözden kaçmış diye döndürdük.


 IF
  IF komutu koşul, doğruysa bu değeri al, yanlışsa bu değeri al diye çalısır.
Örnek olarak asagıdakı tablo elimizde bulunsun.



Yukarıda kı kodumuzu yazdıgımızda asagıda kı tabloyu elde ederiz.Kodumuzda durum 1 ise aktif 0 ise pasif döndürmesini istedik


IFNULL
Ifnull kullanımı içinde verilen iki değer için eğer ilk değer boş(null) değilse sonuca ilk değeri,  boş ise sonuca ikinci değeri döndürür. Ifnull sonuca bir string  yada integer değerlerini döndürür.
 Örnek olarak asagıdakı kodumuzun cevabı 123 olur.


SELECT IFNULL (NULL,65) AS değer; bu kodu yazdığımızda ise değer sütunumuz 65 integer değerini gösterecektir.
SELECT IFNULL(563,'') AS değerbu kodumuzda değer sütunumuz 563 sayısını gösterecektir.
SELECT IFNULL(NULL,NULL) AS değer; kodumuzu çalıştırdığımızda NULL değerini gösterecektir.

NULLIF 

Nullif koşul ifadesinde eğer içinde verilen iki değer eşit ise boş(null) değerini değil ise ilk değeri değer sütunumuza döndürecektir.
   

Bu kodumuzun cevabı iki deger de birbirine eşit olmadıgı için ilk degerimiz olan 45 döner.


SELECT NULLIF(5,5) AS değer; bu komutu yazdığımızda değer sütunumuzda NULL gösterecektir.

Hiç yorum yok:

Yorum Gönder