mysql中IS NULL判断如何使用_mysql IS NULL语法方法

来源:这里教程网 时间:2026-02-28 20:24:01 作者:

在 MySQL 中,IS NULL 用于判断某个字段或表达式的值是否为 NULL。由于 NULL 表示“未知”或“无值”,不能使用普通的等号(=)来比较,必须使用 IS NULLIS NOT NULL 进行判断。

IS NULL 基本语法

判断某字段是否为空值的语法如下:

SELECT 列名 FROM 表名 WHERE 列名 IS NULL;

这条语句会返回指定列中值为 NULL 的所有记录。

实际使用示例

假设有一张用户表 users,结构如下:

id | name | phone ---|-------|------- 1 | 张三 | 13800138000 2 | 李四 | NULL 3 | 王五 | 4 | 赵六 | 13900139000

注意:phone 字段中,李四的值是 NULL,王五可能是空字符串 '',这与 NULL 不同。

查询 phone 为空(即未填写)的用户:

SELECT * FROM users WHERE phone IS NULL;

结果将返回李四的记录。

如果你想同时包含 NULL 和空字符串,可以这样写:

SELECT * FROM users WHERE phone IS NULL OR phone = '';

IS NOT NULL 用法

相反,如果要查找非空值,使用 IS NOT NULL

SELECT * FROM users WHERE phone IS NOT NULL;

这条语句返回 phone 有值的用户(张三和赵六),李四和王五中只有 NULL 会被排除,空字符串仍可能被包含,取决于数据类型和定义。

注意事项

不能用 = NULL 来判断,因为任何值与 NULL 使用等号比较都会返回“未知”,结果不是 true。 NULL 和 0、空字符串 '' 是不同的概念。 在设计表时,合理设置字段是否允许 NULL,有助于避免查询混乱。 聚合函数如 COUNT()、SUM() 等会自动忽略 NULL 值。

基本上就这些。正确使用 IS NULL 能帮助你准确筛选缺失数据,在处理用户信息、日志记录等场景中非常实用。

相关推荐

热文推荐