甘ちゃんSEの自己変革ブログ

1度もサービスを作ったことのない甘ちゃんがこのブログを通じて勉強したことや作ったものを自己発信していきます。

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);

で出来た。

 

ややこしや・・・