SQL ISNULL(), NVL(), IFNULL(), COALESCE() Kullanımı
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.