SQL Eğitimi

SQL ANA SAYFA SQL'e Giriş SQL Sözdizimi SQL Seçimi SQL Seç Farklı SQL Nerede SQL Ve, Veya, Değil SQL Sıralaması İçine SQL Ekle SQL Boş Değerler SQL Güncellemesi SQL Sil SQL Üst Seç SQL Min ve Maks SQL Sayısı, Ortalama, Toplam SQL Beğeni SQL Joker Karakterleri SQL Girişi SQL Arası SQL Takma Adları SQL Birleşimleri SQL İç Birleştirme SQL Sol Birleştirme SQL Sağ Birleştirme SQL Tam Birleştirme SQL Kendi Kendine Katılma SQL Birliği SQL Grubuna Göre SQL Sahip Olmak SQL Var SQL Herhangi Bir, Tümü SQL Seçimi Seçime SQL Ekle SQL Örneği SQL Boş Fonksiyonlar SQL Saklı Yordamlar SQL Yorumları SQL Operatörleri

SQL Veritabanı

SQL Veritabanı Oluştur SQL Bırak DB'si SQL Yedekleme Veritabanı SQL Oluşturma Tablosu SQL Bırakma Tablosu SQL Değiştirme Tablosu SQL Kısıtlamaları SQL Boş Değil SQL Benzersiz SQL Birincil Anahtarı SQL Yabancı Anahtarı SQL Kontrolü SQL Varsayılanı SQL Dizini SQL Otomatik Artış SQL Tarihleri SQL Görünümleri SQL Enjeksiyonu SQL Barındırma SQL Veri Türleri

SQL Referansları

SQL Anahtar Kelimeleri MySQL İşlevleri SQL Sunucu İşlevleri MS Erişim Fonksiyonları SQL Hızlı Başvuru

SQL Örnekleri

SQL Örnekleri SQL Testi SQL Alıştırmaları SQL Sertifikası

SQL BOŞ Fonksiyonlar


SQL IFNULL(), ISNULL(), COALESCE() ve NVL() İşlevleri

Aşağıdaki "Ürünler" tablosuna bakın:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23  
3 Gorgonzola 15.67 9 20

"UnitsOnOrder" sütununun isteğe bağlı olduğunu ve NULL değerler içerebileceğini varsayalım.

Aşağıdaki SELECT ifadesine bakın:

SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;

Yukarıdaki örnekte, "UnitsOnOrder" değerlerinden herhangi biri NULL ise sonuç NULL olacaktır.


Çözümler

MySQL

MySQL IFNULL()işlevi, bir ifade NULL ise alternatif bir değer döndürmenize izin verir:

SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;

veya işlevi şu şekilde kullanabiliriz : COALESCE()

SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

SQL Server

SQL Server ISNULL()işlevi, bir ifade NULL olduğunda alternatif bir değer döndürmenize izin verir:

SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;

MS Erişimi

MS Access IsNull()işlevi, ifade boş bir değerse DOĞRU (-1), aksi takdirde YANLIŞ (0) döndürür:

SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;

kehanet

Oracle NVL()işlevi aynı sonucu elde eder:

SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;