安全等于与函数兜底

有时候我们确实想「两个值相等,或者两个都是 NULL 都算相等」,普通等号做不到,NULL 安全等于运算符专门干这个;日常更常用 IFNULL / COALESCE 直接把空值替换掉。

安全等于与函数兜底要点

安全等于与函数兜底示例

						-- 把缺货商品的库存显示为 0
						SELECT product_name, IFNULL(stock, 0) AS real_stock
						FROM product;

						-- 优先取现货价,没有再取原价,都没有显示 0
						SELECT product_name,
						       COALESCE(promo_price, price, 0) AS final_price
						FROM product;

						-- 安全等于的等价思路:两者都为空 或 两者相等
						SELECT * FROM staff
						WHERE bonus IS NULL AND 0 IS NULL
						   OR bonus = 0;
避坑提醒:COALESCE 比 IFNULL 通用:前者是 SQL 标准,后者是 MySQL 特有,跨库项目优先 COALESCE。
安全等于与函数兜底 · NULL 值处理 知识卡片
卡片 03 / 07 · NULL 值处理(1080×1440 速查卡片)

NULL 值处理知识点