【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 は含まれない」をシェアする
 
 このエントリーをはてなブックマークに追加  LINE  
 はてなブックマークやLINEでシェアされると、よろこびます。 
 

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

  1. Arison より:

    NULLは特殊な値。 SQLのwhere句の != と null には注意。 hogeは’1′か’0′しかこんだろと思ってnull来たら、nullのデータが対象にならなくてホゲエって感じ。

コメントを残す

メールアドレスが公開されることはありません。

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