MYSQL 'de bazı yerlerde (örneğin select işleminde seçilecek değer için )koşul kullanılabilir. CASE deyimi bu işlem için kullanabiliriz.
KULLANIM ŞEKLİ:
SELECT alan1, alan2,
CASE alan3
WHEN 'deger1' THEN 'deger1a'
WHEN 'deger2' THEN 'deger2a'
WHEN 'deger3' THEN 'deger3a'
ELSE 'ön tanımlı değer'
END
FROM tablo
ad
|
soyad
|
bolumId
|
bolumAdi
|
Mehmet
|
Durmaz
|
1
|
Bilgisayar Öğretmenliği
|
Ahmet
|
Yıkılmaz
|
1
|
Bilgisayar Öğretmenliği
|
Ayşe
|
NULL
|
2
|
Fizik Öğretmenliği
|
Melek
|
Tunc
|
2
|
Fizik Öğretmenliği
|
Seher
|
Ay
|
5
|
Biyokimya Mühendisliği
|
Şakir
|
Yok
|
4
|
Kimya Öğretmenliği
|
Abbas
|
Kırmızı
|
3
|
Fizik Bölümü
|
Ayşe
|
Pekmez
|
2
|
Fizik Öğretmenliği
|
Mert
|
Günaydın
|
5
|
Biyokimya Mühendisliği
|
//Ekrana gelecek sutunlerı belirledik
SELECT ad,soyad,bolumId,
case
bolumId
//bolumId si değerine göre gelecek yeni değerleri belirledik
When
'1'
then
'Bilgisayar Öğretmenliği'
When
'2'
then
'Fizik Öğretmenliği'
When
'3'
then
'Fizik Bölümü'
When
'4'
then
'Kimya Öğretmenliği'
When
'5'
then
'Biyokimya Mühendisliği'
//yeni değerlerin sütun ismini bolumAdi olarak değiştirdik
end
as
bolumAdi from ogrenci
IF_ ELSE
IF kullanımı basit bir koşul ifadesidir.
Kullanım Şekli:
SELECT
IF 'kosul_ifadesi' THEN 'komutlar1'
ELSEIF 'kosul_ifadesi' THEN 'komutlar2'
ELSE 'komutlar3'
END IF
FROM tablo
Örnekle açıklayalım;
Örnekle açıklayalım;
ad
|
soyad
|
notu
|
Mehmet
|
Durmaz
|
45
|
Ahmet
|
Yıkılmaz
|
58
|
Ayşe
|
NULL
|
65
|
Melek
|
Tunc
|
18
|
Seher
|
Ay
|
92
|
Şakir
|
Yok
|
85
|
Abbas
|
Kırmızı
|
62
|
Ayşe
|
Pekmez
|
55
|
Mert
|
Günaydın
|
38
|
SELECT AD , SOYAD
IF(NOTU>=60,"GEÇTİ","KALDI")
AS SONUÇ
FROM ÖĞRENCİ
IF NULL
ıfnull 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. ıfnull sonuca bir string yada integer değerleri döndürür.
Kullanım Şekli:
1
2
3
4
5
|
SELECT IFNULL(1,0); -- returns 1
SELECT IFNULL('',1); -- returns ''
SELECT IFNULL(NULL,'IFNULL function'); --
|
Örnekler;
SELECT IFNULL(1,2);
SONUÇ:1
- SELECT IFNULL(NULL,2);
SONUÇ:2
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.
Kullanım Şekli:
NULLIF(ifade1, ifade2);
Örnekler:
- SELECT NULLIF(2,2);
SONUÇ:NULL
SELECT NULLIF(2,3);
Hiç yorum yok:
Yorum Gönder