私はより大きな問題に取り組んでいますが、この質問を簡単にするためにこれを絞り込んでいます。SQL Where Column1 = Column1はnull以外の値しか返しません
次のクエリ:
Select * from User where Country = Country
は唯一の国がnullでない行を返します。 Column1がNULLの場合、NULL = NULLであるため返されます。
これは私が期待どおりに動作していない理由についての入力はありますか?
EDIT:
私はこれを行うにしようとしています:私の変数@Countryがnullの場合
Select * from User where Country = coalesce(@Country, Country)
を、私はそれがすべてを引っ張って欲しいです。
NULLはNULLに等しくないため、両方とも定義されていないため、NULLはNULLに等しくないため、NULLはNULLと等しくありません。 –
"NULLは決してNULLに等しい" - 真ではありません。ヒント: 'GROUP BY'と' ORDER BY'。 – onedaywhen
@onedaywhen: 'distinct'(' SQL:2003 3.1.6.8'で定義)と 'equal'(' SQL:2003 3.1.6.13'で定義されています)を混同しています。これらは 'SQL'では異なる概念であり、' GROUP BY'では 'not distinct'値をグループ化します。 – Quassnoi