2009-06-11 11 views
10

ブール値のテーブルにフィールドがあります。レコードの範囲には値がありません(真または偽ではありません)。これらを見つけるためにSQL文を書くにはどうすればよいですか?データベースのNULLブール値のチェック

私は成功せず、次のSQL文を試してみました:

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

任意の助けをいただければ幸いです。

多くのおかげで、TSQLでベン

+0

あなたのすべてのお返事ありがとうございます、esp/Mitch Wheat :) –

+0

NULLは値ではなく、価値がありません。したがって、値が存在しない場合と比較することはできません。 –

+1

@Milen:他のすべての言語はこれを管理しています。 IMOこれは非常に愚かで、SQLはこれとは異なる演算子を必要とします – Draemon

答えて

30

、あなたはNULLと比較したときにISではなく=を使用する必要があります。

SELECT * FROM table WHERE field IS NULL 
+1

DOH! 17秒遅すぎる:) –

+1

見落としやすいので、NULLに "="の代わりに "="を使用してください。 "!="の代わりに、同様に "IS NOT NULL"を使用します。 –

6

あなたは、私は信じていIS NULLをしたい

select * from table where field IS null 
4

をお試しください:

SELECT * FROM table WHERE field IS NULL 
関連する問題