私は主にアプリケーション開発のバックグラウンドを持っています。プログラミング言語でvariable == null
またはvariable != null
が動作します。SQL言語でIS NULLを使用するのはなぜですか= NULLではなくIS NOT NULLであるかNULLではありませんか?
SQLに関しては、以下のクエリでは構文エラーはありませんが、正しい結果も返しません。
select SomeColumn from SomeTable where SomeNullableColumn=null
select SomeColumn from SomeTable where SomeNullableColumn<>null
は、なぜ我々は正しい結果を得るためにis null
またはis not null
でクエリを記述する必要がありますか?
select SomeColumn from SomeTable where SomeNullableColumn is null
select SomeColumn from SomeTable where SomeNullableColumn is not null
代わり=null
または<>null
のis null
またはis not null
背後にある理由/要件は何ですか?
このANSI SQLまたはMicrosoftのTSQL規格ですか?
「NULL」は値ではないため、値がないことを意味します。何かを何も比較することはできません。 –
[nullがヌルfalseと等しくない理由](http://stackoverflow.com/questions/1833949/why-is-null-not-equal-to-null-false)の可能な複製 – EoinS
http:///stackoverflow.com/questions/9581745/sql-is-null-and-null –