Nullif

nullif与coalesce函数的区别

小樊
92
2024-10-10 15:41:55
栏目: 编程语言

NULLIFCOALESCE函数在SQL中都是用于处理空值(NULL)的工具,但它们的工作方式和应用场景有所不同。

  1. NULLIF函数

NULLIF函数接受两个参数,如果这两个参数的值相等,那么函数将返回NULL。否则,它将返回第一个参数。这个函数通常用于在两个可能相等的值之间进行条件性的“转换”,其中一个值在特定条件下被视为与另一个值“相同”(即相等),从而返回NULL以表示这种“相同”状态。

例如:

SELECT NULLIF(10, 10) AS result;  -- 返回NULL,因为10等于10
SELECT NULLIF(10, 20) AS result;  -- 返回10,因为10不等于20
  1. COALESCE函数

COALESCE函数接受多个参数,并返回第一个非NULL参数。如果所有参数都是NULL,那么函数将返回NULL。这个函数通常用于在多个可能为空的值之间选择“首选”值。它按照参数在列表中出现的顺序进行查找,并返回第一个非NULL值。

例如:

SELECT COALESCE(10, 20, 30) AS result;  -- 返回10,因为10是非NULL值且是最先出现的
SELECT COALESCE(NULL, 20, 30) AS result;  -- 返回20,因为20是非NULL值且是第二个出现的
SELECT COALESCE(NULL, NULL, 30) AS result;  -- 返回30,因为30是非NULL值且是最后一个出现的

总结

0
看了该问题的人还看了