答案:判断MySQL字段为空需区分NULL和空字符串;NULL用IS NULL或IS NOT NULL,空字符串用=''或!='',两者同时判断可用AND连接或COALESCE函数处理。

在 MySQL 中判断字段是否为空,主要看“空值”是 NULL 还是空字符串(''),因为它们的判断方式不同。
1. 判断字段是否为 NULL
NULL 表示“没有值”,不能用 = 或 != 来比较,必须使用特定语法:- IS NULL:判断字段是否为 NULL
- IS NOT NULL:判断字段是否不为 NULL
示例:
查找 name 字段为 NULL 的记录:
SELECT * FROM users WHERE name IS NULL;
查找 name 字段不为 NULL 的记录:
SELECT * FROM users WHERE name IS NOT NULL;
2. 判断字段是否为空字符串 ''
空字符串是“有值但值为空”,可以用 = 或 != 比较:- = '':判断是否为空字符串
- != '' 或 '':判断是否不为空字符串
示例:
查找 name 字段为空字符串的记录:
SELECT * FROM users WHERE name = '';
查找 name 字段不为空字符串的记录:
SELECT * FROM users WHERE name != '';
3. 同时判断 NULL 和空字符串
实际开发中,常需同时排除 NULL 和空字符串:示例:
查找 name 字段既不是 NULL 也不是空字符串的记录:
SELECT * FROM users WHERE name IS NOT NULL AND name != '';
或者合并写法:
SELECT * FROM users WHERE COALESCE(name, '') != '';
(COALESCE 将 NULL 转为空字符串后再比较)
基本上就这些。关键记住:NULL 用 IS NULL,空字符串用 = '',需要时两者一起判断。










