使用IF函数可判断字段是否为NULL,如SELECT IF(name IS NULL, '姓名为空', name) AS display_name FROM users;2. 需同时判断NULL和空字符串时可用IS NULL OR name = '';3. 在WHERE中筛选NULL值使用IS NULL条件;4. 替换NULL值可用IFNULL或COALESCE函数;关键点:判断NULL必须用IS NULL,不能用= NULL。

在 MySQL 中,判断某个字段或表达式是否为空,通常使用 IS NULL 或 IS NOT NULL。如果你是在 IF 函数或条件语句中进行判断,可以通过结合这些判断来实现。
1. 使用 IF 函数判断字段是否为 NULL
MySQL 的 IF 函数语法是:IF(条件, 值1, 值2)
如果条件为真,返回值1;否则返回值2。
例如,判断某个字段是否为 NULL:
SELECT IF(name IS NULL, '姓名为空', name) AS display_name FROM users;
如果 name 字段为 NULL,就显示“姓名为空”,否则显示实际的 name 值。
2. 判断空字符串和 NULL(更全面的判断)
有时候数据可能是空字符串 '' 而不是 NULL,这时需要同时判断两者。示例:同时检查 NULL 和空字符串
SELECT IF(name IS NULL OR name = '', '无姓名', name) AS display_name FROM users;
这样可以确保 NULL 和 '' 都被识别为空值。
3. 在 WHERE 条件中使用 IS NULL
如果只是想筛选数据,可以直接在查询中判断:SELECT * FROM users WHERE name IS NULL;
这条语句会查出所有 name 字段为空(NULL)的记录。
4. 使用 IFNULL 或 COALESCE 简化处理
如果目的只是替换空值,可以使用更简洁的函数:- IFNULL(name, '默认值'):如果 name 是 NULL,返回“默认值”
- COALESCE(name, '未知'):返回第一个非 NULL 的值,支持多个参数
示例:
SELECT IFNULL(phone, '暂无电话') FROM users;
基本上就这些。关键记住:判断 NULL 要用 IS NULL,不能用 = NULL,因为 NULL 表示未知,不能通过等号比较。










