NULLIF
函数用于将两个表达式进行比较,如果它们相等,则返回 NULL
值;如果不相等,则返回第一个表达式的值。这个函数在处理相等条件时非常有用,因为它可以帮助你避免 NULL
值带来的逻辑冲突。
NULLIF
函数的语法如下:
NULLIF(expression1, expression2)
其中,expression1
和 expression2
是要比较的两个表达式。
当 expression1
和 expression2
相等时,NULLIF
函数返回 NULL
值。例如:
SELECT NULLIF(5, 5); -- 返回 NULL
当 expression1
和 expression2
不相等时,NULLIF
函数返回第一个表达式的值。例如:
SELECT NULLIF(5, 6); -- 返回 5
在处理相等条件时,你可以使用 NULLIF
函数来避免 NULL
值的影响。例如,假设你有一个表 employees
,其中包含员工的薪水信息。你想要找到薪水等于某个特定值的员工数量,但你不希望将薪水为 NULL
的员工计入结果中。在这种情况下,你可以使用 NULLIF
函数来处理相等条件:
SELECT COUNT(*)
FROM employees
WHERE NULLIF(salary, target_salary) IS NOT NULL;
在这个查询中,target_salary
是你要比较的目标薪水值。NULLIF
函数将 salary
和 target_salary
进行比较,如果它们相等,则返回 NULL
值。IS NOT NULL
条件用于过滤掉 NULL
值,从而确保只有薪水等于目标薪水的员工被计入结果中。