MySQLでNULL値を比較する方法


  1. IS NULLを使用した比較: NULL値を比較する際には、IS NULL演算子を使用します。例えば、以下のクエリではカラム名がNULLである行を取得します。
SELECT * FROM テーブル名 WHERE カラム名 IS NULL;
  1. IS NOT NULLを使用した比較: 逆に、NULL値ではない行を取得する場合には、IS NOT NULL演算子を使用します。
SELECT * FROM テーブル名 WHERE カラム名 IS NOT NULL;
  1. 比較演算子を使用した比較: NULL値を比較する場合には、通常の比較演算子(=、<、>など)は使用できません。代わりに、IS NULLやIS NOT NULLを使用する必要があります。

例えば、以下のクエリではカラム名がNULLである行を取得します。

SELECT * FROM テーブル名 WHERE カラム名 = NULL; -- これは正しい比較ではありません

正しい方法は以下のようになります。

SELECT * FROM テーブル名 WHERE カラム名 IS NULL;
  1. COALESCE関数を使用した比較: COALESCE関数を使用すると、NULL値を特定の値に置き換えて比較できます。例えば、以下のクエリではNULL値を0に置き換えて比較しています。
SELECT * FROM テーブル名 WHERE COALESCE(カラム名, 0) = 0;

以上がMySQLでNULL値を比較するためのシンプルで簡単な方法とコード例です。これらの方法を使って、NULL値を正しく比較することができます。