MySQL テーブルに CODE という列があり、NULL にすることができます。選択した結果セットで無視したい CODE='C' の行がいくつかあるとします。結果セットに CODE=NULL または CODE!='C' のいずれかを含めることができます。
次のクエリは、CODE が NULL の行を返しません。
SELECT * from TABLE where CODE!='C'
しかし、このクエリは期待どおりに機能し、それが正しい方法であることはわかっています。
SELECT * from TABLE where CODE IS NULL OR CODE!='C'
私の質問は、CODE!='C' だけで CODE=NULL の行が返されないのはなぜですか? 間違いなく「C」は NULL ではありません。ここでは、値を文字と比較していません。なぜそれがうまくいかないのか、誰かが光を当てることができますか?