Anasayfa / Veritabanı/Sql / Sql ile Null Değerlerin Kontrol Edilmesi
sql

Sql ile Null Değerlerin Kontrol Edilmesi

Sql dili ve veritabanıyla ilgilenen herkesin kayıtlar içerisindeki null alanlar ile problem yaşadığı olmuştur. Öncelikle null kavramının sayı tipleri için 0, karakter tipleri içinse boşluk olmadığını söyleyerek başlayayım. Null değer daha önce ilgili alana hiçbir veri girilmediği gösteren bir belirsizlik ifade eder. Bu yüzden null olan içeriklerin birbiriyle karşılaştırılması ve kontrol edilmesi mümkün olmamaktadır.

Sql içerisinde bu problemi çözmek amacıyla Is NULL operatörü ve metodu bulunmaktadır. Öncelikle is null operatörünün kullanımına bir göz atalım.

Yukarıdaki sorgu çalıştırıldığında color sütununda değeri null olan kayıtlar listelenecek ve sorgu çıktısı aşağıdaki gibi olacaktır.

sql is null
Sql Is Null Sorgu Sonucu

Peki color değeri null olmayan kayıtları listelemek isteseydik, sorgumuzu not operatörüyle aşağıdaki gibi düzenlememiz gerekirdi.

sql is not null
Sql Is Not Null Sorgu Sonucu

Özellikle veritabanı sorguları sonucunda oluşturulan raporlama ekranlarında verilerin null olarak gösterilmesi istenmeyen bir durumdur. Bunu önlemek amacıyla isnull() fonsiyonu kullanılır.

Bu fonksiyon iki parametre almaktadır. Birinci parametreye null olup olmadığı kontrol edilecek alan, ikinci parametreye ise değer null ise döndürülecek değer girilir.

Yukarıdaki sorguda isnull metodunun aldığı ilk parametre tablodaki color sütunudur. Bu sütündaki değerin null olması durumunda ikinci parametredeki ‘Belirtilmedi’ yazısı gösterilecektir. Yukarıdaki sorgu çalıştırıldığında aşağıdaki gibi bir sonuç listesi döndürülür.

sql is null metodu
Sql IsNull() metodu Sorgu Sonucu

Yukarıda ki örneklerin hepsinde AdventureWorks2012 veritabanında ki Production.Product tablosu kullanılmıştır. Eğer select sorguları ile ilgili detaylı bilgi almak isterseniz tıklayınız. Konuyla ilgili tüm sorularınızı bana iletebilirsiniz.

İlginizi Çekebilir!

ilişkisel veritabanı tasarımı

İlişkisel Veritabanı Tasarımı

İlişkisel veritabanı kısaca verilerin belli kriterlere göre farklı tablolarda saklanması ve bu tabloların aralarında ilişkiler ...

Bir Yorum

  1. Ahmet Karakurt

    Peki SQL de Şartlı Sildirme Nasıl Yapabilirim ? Yani Delete From satisrezerve where s_tarih = Date() and sozlesme Is Null “; Böyle Olmuyor

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir