SQL ISNULL(), NVL(), IFNULL(), COALESCE() Kullanımı
Tablomuzdaki bir alanda işlem yapmak istediğimiz zaman boş değerler sorun
oluşturabilir. Bu durumda boş alanlara işlem sırasında değer verebilir ve
işlemin sağlıklı yapılmasını sağlanabilir.
ISNULL: SQL Server ve MS Access 'de kullanılır.
IFNULL: MySQL 'de kullanılır.
NVL: Oracle'da kullanılır.
COALESCE: MySQL'de kullanılır.
Fonksiyonların Kullanım Biçimi
İlgili fonksiyonların kullanımını örnekler üzerinden açıklamak daha sağlıklı
olacaktır.
Aşağıdaki gibi Urunler tablomuz olsun
id |
Urun_adi |
Fiyat |
Stok |
1 |
Buzdolabı |
1500 |
10 |
2 |
LCD TV |
1850 |
5 |
3 |
Çamaşır
Makinesi 1000 Devir |
|
1 |
4 |
Çamaşır
Makinesi 800 Devir |
850 |
1 |
Örnek1:
SELECT
Urun_adi,(Fiyat*ISNULL(fiyat,0)) AS Stok_degeri
FROM Urunler
Çıktısı:
Urun_adi |
Stok_degeri |
Buzdolabı |
15000 |
LCD TV |
9250 |
Çamaşır
Makinesi 1000 Devir |
0 |
Çamaşır
Makinesi 800 Devir |
850 |
Burada kodun SQL Server üzerinde nasıl uygulandığını görüyoruz. Fiyatı boş
almak yerine sıfır olarak alıyor.
Örnek2:
SELECT
Urun_adi, (Fiyat*IFNULL(fiyat,0)) AS Stok_degeri
FROM Urunler
Çıktısı:
Urun_adi |
Stok_degeri |
Buzdolabı |
15000 |
LCD TV |
9250 |
Çamaşır
Makinesi 1000 Devir |
0 |
Çamaşır
Makinesi 800 Devir |
850 |
Burada MySQL yapısında ki kullanım biçimi görülmektedir. Çıktı birinci
örnekle aynı olacaktır. Değişen sadece ISNULL yerine IFNULL kullanılmış
olmasıdır.