2009-06-11 23 views
10

Tabloda boolean olan bir alan var, bir kayıt aralığı değeri yok (true veya false değil). Bunları bulmak için SQL ifademi nasıl yazarım?NULL boole değeri veritabanı denetimi

Ben başarılı olamadı aşağıdaki SQL ifadeleri denedi:

1) SELECT * FROM table WHERE field = NULL 
2) SELECT * FROM table WHERE field != TRUE AND field != FALSE 

Herhangi bir yardım büyük takdir.

SELECT * FROM table WHERE field IS NULL 
+0

Bütün cevaplarınız için teşekkürler, esp/Mitch Wheat :) –

+0

NULL bir değer değil, değeri yok. Böylece, hiçbir değer, değer yokluğu ile kıyaslanamazdı. –

+1

@Milen: Her diğer dil hemen hemen bunu iyi yönetiyor. IMO, SQL'in bu – Draemon

cevap

30

TSQL olarak, = yerine IS kullanmak gerekir

SELECT * FROM table WHERE field IS NULL 
+1

DOH için farklı bir operatöre ihtiyacı olduğunu son derece aptal! 17 saniye çok yavaş :) –

+1

Çünkü kaçırılması kolay olurdu: NULL ile "=" yerine "IS" kullanın. "! =" Yerine, benzer şekilde, "IS NOT NULL" kullanın. –

6

inanıyorum Sen IS NULL istiyorum

select * from table where field IS null 
4

deneyin: NULL ile karşılaştırırken

Çok teşekkürler, Ben

İlgili konular