Perşembe, 29 Ağustos 2013 00:00

COALESCE fonksiyonu ile veritabanı sorgularındaki NULL karmaşasından kurtulun

Yazan 
Öğeyi Oyla
(0 oy)
Veritabanı için sorgu kullanılırken çok sıkıntı yaratan problemlerden bir taneside null olarak geri dönüş yapan değerlerdir. Bu problemi COALESCE veritabanı fonksiyonunun çeşitli kullanım şekilleri ile ortadan kaldırabiliriz.
Aşağıdaki gibi bir sorgumuz olduğunu farzedelim. Eğer SiparisEdilenAdet alanı doldurulmamışsa yani herhangi bir sipariş edilen ürün yoksa dönen NULL değer parantez içerisindeki hesaplamayı problemli hale getirir.
SELECT UrunAdi,UrunFiyat*(StokAdet+SiparisEdilenAdet)
FROM Urunler
Aşağıdaki COALESCE fonksiyonu yardımı ile eğer SiparisEdilenAdet NULL değere sabitse ikinci kolondaki 0 değerini almasını sağlayabiliriz.
SELECT UrunAdi,UrunFiyat*(StokAdet+COALESCE(SiparisEdilenAdet,0))
FROM Urunler
COALESCE fonksiyonunda birden fazla parametre kullanılarak soldan sağa ilk NULL değer olmayan alanın değerinin alınması sağlanabilir.

Bu fonksiyon mysql ve diğer veritabanı motorlarında kullanıldığı gibi mysql de IFNULL fonksiyonu şeklinde aynı işi yapan bir fonksiyon daha bulunur.
Okunma 2225 defa Son Düzenlenme Perşembe, 29 Ağustos 2013 01:59
Ufuk Yıldırım

Yazılım Geliştirme Uzmanı

Web site: www.ufuk.biz

Benzer Öğeler (etikete göre)

Yorum Ekle

Gerekli olan (*) işaretli alanlara gerekli bilgileri girdiğinizden emin olun. HTML kod izni yoktur.