3 Temmuz 2007 Salı

Karşılaştırma ve Koşul İfadelerinde NULL Değerleri

Şu kurallar önemlidir ve gözardı edilmemelidir:

1) Karşılaştırmalarda eğer herhangi bir değer NULL ise sonuç NULL çıkar.
2) NULL bir değere, NOT mantık operatörü uygulanırsa sonuç gene NULL 'dır.
3) Koşullu kontrol ifadelerinde eğer koşulun sonucu NULL ise bu koşula bağlı ifadeler işleme konulmaz.
4) CASE bildirimlerinde veya CASE ifadelerinde, ifadenin sonucu NULL ise, WHEN NULL kullanılarak bu durum belirlenemez. Bunun yerine WHEN ifade IS NULL kullanılmalıdır.

Aşağıdaki örnekte y'nin değeri NULL olduğundan IF karşılaştırmasının sonucu da NULL çıkacaktır ve karşılaştırmaya bağlı ifade işleme konmayacaktır.

x := 5;
y := NULL;
...
IF x != y THEN -- sonuç NULL çıkar yani TRUE değil
sequence_of_statements; -- işleme konmaz
END IF;

Hiç yorum yok: