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ı 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
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.
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ğer; bu 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.
SELECT IFNULL(563,'') AS değer; bu 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.
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