29、 NULLIF 函数 值相等返回 NULL
1、NULLIF 函数
用于在两个表达式相等时返回 NULL,否则返回第一个表达式的值。
语法:
NULLIF(value1,value2);
如数据:
| id | raw_name |
|---|---|
| 1 | Alice |
| 2 | '' |
| 3 | Bob |
| 4 | NULL |
场景:用户姓名字段可能存了空字符串 '',你想把它当作“未填写”(即 NULL)。
SELECT id, name AS raw_name, NULLIF(name, '') AS cleaned_name FROM users;
结果:
| id | raw_name | cleaned_name |
|---|---|---|
| 1 | Alice | Alice |
| 2 | '' | NULL |
| 3 | Bob | Bob |
| 4 | NULL | NULL |
解析:
- 第 2 行:
'' = ''→ 相等 → 返回NULL - 第 4 行:
name本身是NULL→ 直接返回NULL(不参与比较)
后续可配合 COALESCE(cleaned_name, '匿名') 显示默认名。
本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/19246230

浙公网安备 33010602011771号