【SQL】 != には null は含まれない

データベースアイコン

NULLは特殊な値。

SQLのwhere句の != と null には注意。
hoge != ‘1’
この時、hogeがnull の場合は対象にならない

hogeは’1’か’0’しかこんだろと思ってnull来たら、nullのデータが対象にならなくてホゲエって感じ。
nullチェックは別に必要。

NULLは 「列名 = NULL」 や 「列名 <> NULL」 といった通常の比較演算子を用いた方法では検索できない。
NULLを対象として検索する場合は、IS NULL演算子

SELECT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NULL

もしくはIS NOT NULL演算子を使用すること。

SELECT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NOT NULL

っていうか、フラグなら1か0で、デフォルトを0くらいにしといて
notNull制約 つけとけばいいんじゃないですか?

コメント

“【SQL】 != には null は含まれない” への1件のコメント

Danji_dayo へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください