• ベストアンサー

MariaDBでのNULLの扱い方

お世話になります。 MariaDBで作ってあるあるテーブルのひとつのフィールド "batch" にデータが入ってないために、コマンドプロンプト画面で見ると"NULL"と表示されています。添付したスクリーンショットの通りです。 ところがこれを select * from calreport where batch=NULL というコマンドを入れても empty set と表示されて、"batch" フィールドが NULL の物が表示されません。 NULL という値はどのように検出すればよいのでしょうか? 正しい select 文の書き方を教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.1

多くのデータベースでの話になりますが、NULL値を抽出条件にする場合は '=' ではなく'IS NULL'句を使用します。 「WHERE batch IS NULL」ですね。 MariaDBで通用するかどうかは分かりません。 データベースによってはローカルルールにより他の大手(OracleやSQLServer)と異なる場合もあるので後はご自分で調べてみてください。 調べる前にやってみれば結果はすぐに出ますけど。 OracleもSQLServerも癖があるので標準とは言いがたいところもありますが・・・

papashiroSooke
質問者

お礼

早速にご回答をいただき、有難うございます。 IS NULL でやってみましたら、見事に "batch" が NULL値の物を全て抽出できました。 データベース関連でもまだ知らないことが多くて、勉強不足を痛感します。 また何かあったらよろしくお願いいたします。

関連するQ&A