17 Nisan 2009 Cuma

Oracle NULL

Oracle’a ilk başladığınız zamanlarda eğer önceden farklı veri tabanları ile çalışmışsanız null olan değerler size biraz ilginç gelebilir.
Null hücreler değeri belli olmayan, değeri bilinmeyen hücrelerdir.
Bu nedenle aşağıdaki sorgunun sonucu doğal olarak belirsiz bir değer çıkacaktır, bu da null’a eşittir.
select 5+7+null+9 from dual;

Fakat kullandığımız Oracle Fonksiyonları bu mantıkta çalışmazlar, örneğin SUM() fonksiyonu kullanıldığında null olan değerleri ihmal ederek diğer değerlerin toplamını verir. Benzer şekilde diğer fonksiyonlar da null değerleri ihmal ederler.
Null değerleri daha iyi anlamak için boolean değişkenler ile beraber mantıksal işlemlerlerinin sonucunu gösteren aşağıdaki doğruluk tablosunu inceleyebilirsiniz.
b1 b2| and or
------+--------
1 1| 1 1 ------------ 1: true
1 0| 0 1 ------------ 0: false
1 n| n 1 ------------ n: null value
0 1| 0 1
0 0| 0 0
0 n| 0 n
n 1| n 1
n 0| 0 n
n n| n n

null değerler ile Oracle’da karşılaştırma yapacak ise bilmemiz gereken şey, null değerlerin tipinin string olduğudur, yani null değerler Oracle’da yan yana iki tek tırnak işareti arasındaki ('')karakteri ifade eden STRING('') değeridir. Bu yüzden boş bir stringin uzunluğu(length) 0 değil null dır.
Başka bir özellik olarak Oracle sıralama yaparken null değerleri diğer değerlerden daha büyük olarak kabul eder, sıralama yaptığımız tabloda MAXVALUE hariç bütün null değerler en büyük değerlerdir.

Hiç yorum yok:

Yorum Gönder

Popüler Yayınlar