MySQLのSELECT文のWhere句でNULLがあるカラムの「~以外」の挙動
タイトル、何のこっちゃわからないけど、
すごいハマったのでメモ。
MySQLのSELECT文において、
指定カラムの値が3以外のデータを抽出したくて、
<前提>
「custom_code」カラム:デフォルト値=null、1~3の値が入る
<sql文>SELECT
id
FROM hogehoge_table
WHERE
custom_code <> 3;
でやってみたけどダメ。
なんでー?と思って色々試してみたら、
「<>」ってnullは対象外なのねー。。。。
実現するには、
<sql文>SELECT
id
FROM hogehoge_table
WHERE
(custom_code <> 3 OR custom_code IS NULL);
で出来た。
ややこしや・・・