首页/数据/数据库速查/NULL 处理函数:IFNULL / COALESCE / NULLIF
本包目录(495 条)
MySQL 基础与连接36 条
SQL 语法52 条
用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

NULL 处理函数:IFNULL / COALESCE / NULLIF

空值兜底与判定:IFNULL 二元兜底、COALESCE 多级兜底、NULLIF 相等时返回 NULL;聚合与运算前做兜底避免整列 NULL。

数据库速查数据更新于 2026-10-12
用途空值处理
函数IFNULL(a,b) / COALESCE(a,b,c…) / NULLIF(a,b)
判断IS NULL / IS NOT NULL

常用示例

常用示例
SELECT IFNULL(phone, 'N/A') AS phone FROM users;
SELECT COALESCE(cancel_reason, finish_reason, 'unknown') AS reason FROM jobs;
SELECT NULLIF(qty, 0) AS qty_or_null FROM order_items;   -- 防止除零
SELECT 1 + NULL AS r;   -- 结果为 NULL
NULL 参与算术运算结果恒为 NULL;聚合函数(除 COUNT(*) 外)会跳过 NULL,统计口径要写清。

易错点

  • IFNULL 只接受两个参数,多级兜底用 COALESCE
  • WHERE col = NULL 永远不成立,必须写 IS NULL

数据来源与参考

  • MySQL 8.0 Reference Manual: Flow Control Functions

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌