答案:判断MySQL字段为空需区分NULL和空字符串;NULL用IS NULL或IS NOT NULL,空字符串用=''或!='',两者同时判断可用AND连接或COALESCE函数处理。
在 MySQL 中判断字段是否为空,主要看“空值”是 NULL 还是空字符串(''),因为它们的判断方式不同。
ULL示例:
查找 name 字段为 NULL 的记录:
SELECT * FROM users WHERE name IS NULL;
查找 name 字段不为 NULL 的记录:
SELECT * FROM users WHERE name IS NOT NULL;
示例:
查找 name 字段为空字符串的记录:
SELECT * FROM users WHERE name = '';
查找 name 字段不为空字符串的记录:
SELECT * FROM users WHERE name != '';
示例:
查找 name 字段既不是 NULL 也不是空字符串的记录:
SELECT * FROM users WHERE name IS NOT NULL AND name != '';
或者合并写法:
SELECT * FROM users WHERE COALESCE(name, '') != '';
(COALESCE 将 NULL 转为空字符串后再比较)
基本上就这些。关键记住:NULL 用 IS NULL,空字符串用 = '',需要时两者一起判断。