NULL ve Aritmetik İşlemler
- Tuncay Tiryaki
- 1 May 2020
- 1 dakikada okunur
Güncelleme tarihi: 19 May 2020
Null değerlerin olduğu SQL'lere dikkat.

Null bir değere sahip bir kolon ile aritmetik bir işlem yaparsanız, sonuç yine null olur. Bu durum sadece aritmetik yani matematiksel işlemlerde oluşur. Sonucun null olmasını engelleyici bazı yöntemler kullanacağız. Biraz daha ayrıntılı inceleyelim:
Çoğu zaman sonucun null olması istenmez!!!
1) NVL fonksiyonu hemen imdadımıza yetişir:
Null değerin bulunduğu bir aritmetik işlemin sonucunu anlamlı, yani sayısal değerlere dönüştürmek için NVL fonksiyonu tamda aradığımız şeydir.
Örneğin aşağıdaki SQL'de personellerin maaş ve prim değerleri toplanıp hesaba yatan miktarları bulunmak isteniyor. Fakat ilk resimde göründüğü üzere, son 2 satırda prim değeri null olduğundan dolayı sonuç yine null olmuş. Bu personellerin maaş değerleri olmasına karşın hesaplarına hiçbir şey yatmayacak!
select maas, prim, (maas + prim) hesaba_yatan
from personel
Bu sorunu çözmek için NVL fonksiyonunu aşağıdaki SQL'deki gibi kullanacağız. Bu fonksiyon 2 parametre alır. İlk parametre kolonun kendisi, ikincisi bu kolon null olduğundan değerini ne olarak alacağıdır. Her iki parametrenin tipleri birbirine uymalıdır. Örneğin kolon tipi number ise 2. parametre de number olmalı.
select maas, prim, (maas + nvl(prim, 0)) hesaba_yatan
from personel
Yukarıdaki tabloda da görüldüğü üzere son iki satırdaki prim alanı null olmasına karşın, bu alan 0 olarak alındı ve hesaba_yatan kolonundaki değer, null değerinden kurtularak doğru hesaplanmış oldu.
2) Null değerlerin güncellenmesi:
Bu çok tercih edilen bir yöntem olmasa da null değerli kayıtlar tek seferde güncellenerek sonuçların düzgün görünmesi sağlanabilir. yukarıdaki örnekte prim alanı null olan kayıtlar 0 olarak güncellenir.
Comments