nullとの比較
SQLであるカラムと文字列を比較したとき、そのカラムがNullだと条件に当てはまらなくなる。
SELECT * FROM TABLE WHERE CLM = 'a';
以上のような場合、CLMがNullだと当てはまらないのは当然だが、
以下はどうだろう?
SELECT * FROM TABLE WHERE CLM != 'a';
‘a’ という文字列以外のなので、CLMがNullの行も取得できそうな気がする。
しかし、取得できない。
CLMがNullの場合、比較されないので、行は取得できない。
ISNULLを使って空文字に置き換えて比較する。
SELECT * FROM TABLE WHERE ISNULL(CLM,'') != 'a';
以上のようにすれば、比較できるので、Nullの行も取得できる。
参考
Qiita