29、 NULLIF 函数 值相等返回 NULL

1、NULLIF 函数

用于在两个表达式相等时返回 NULL,否则返回第一个表达式的值

语法:

NULLIF(value1,value2);

如数据:

idraw_name
1 Alice
2 ''
3 Bob
4 NULL

场景:用户姓名字段可能存了空字符串 '',你想把它当作“未填写”(即 NULL)。

SELECT 
    id,
    name AS raw_name,
    NULLIF(name, '') AS cleaned_name
FROM users;

结果:

idraw_namecleaned_name
1 Alice Alice
2 '' NULL
3 Bob Bob
4 NULL NULL

解析:

  • 第 2 行:'' = '' → 相等 → 返回 NULL
  • 第 4 行:name 本身是 NULL → 直接返回 NULL(不参与比较)

后续可配合 COALESCE(cleaned_name, '匿名') 显示默认名。

posted @ 2025-11-20 11:14  chao_xiong  阅读(4)  评论(0)    收藏  举报