まいける's Tech Blog

LAMP関係のメモなどを不定期に掲載します

MySQLのNULL値と空文字の扱いについて

 覚え書き的にメモ。データ型はVARCHARの場合です。

SELECT * FROM tbl_name WHERE str = '';

→空文字のみがヒット

SELECT * FROM tbl_name WHERE str != '';

→空文字とNULL値が除外される

SELECT * FROM tbl_name WHERE str IS NULL;

→NULL値のみがヒット

SELECT * FROM tbl_name WHERE str IS NOT NULL;

→値が入っているものと空文字がヒット(NULL値が除外される)

str != '' の挙動が要注意ですね