【MySQL】空文字やNULLのレコードを検索する方法


ここではMySQLで、空文字やNULL値のレコードを検索する方法を紹介しています。

空文字のレコードを検索する方法

列の値が空文字かどうかを判定するには、”と比較します。

次のSQLでは、COL2列の値が空文字のレコードを検索し取得します。

SELECT * FROM tab1 WHERE col2 = '';

空文字以外のレコードを検索する方法

空文字の比較と同じように、列の値が空文字かどうかを判定するには、”と比較します。

次のSQLでは、COL2列の値が空文字以外のレコードを検索し取得します。
一致しないレコードを検索するときには!=を使います。

SELECT * FROM tab1 WHERE col2 != '';

この他にも<>を使って記述することもできます。

SELECT * FROM tab1 WHERE col2 <> '';

NULLのデータを判定・検索する方法

NULL値のデータは「IS NULL」を使って判定します。

次のSQLでは、COL2列の値がNULLのレコードを検索結果として表示します。

SELECT * FROM tab1 a WHERE a.col2 IS NULL;

NULL以外のデータを判定・検索する方法

NULL値以外のデータは「IS NOT NULL」を使って判定します。

次のSQLでは、COL2列の値がNULL以外のレコードを検索結果として表示します。

SELECT * FROM tab1 a WHERE a.col2 IS NOT NULL;