📜  MySQL NULLIF()(1)

📅  最后修改于: 2023-12-03 15:17:46.055000             🧑  作者: Mango

MySQL NULLIF()

MySQL的NULLIF()函数返回两个表达式的第一个表达式,如果第一个表达式与第二个表达式相等,则返回NULL,否则返回第一个表达式。这个函数对处理可能会产生错误或未定义值的表达式特别有用。

语法
NULLIF(expr1, expr2)
参数
  • expr1: 一个表达式
  • expr2: 一个表达式,用于与第一个表达式进行比较
返回值
  • 如果expr1等于expr2,则返回NULL
  • 如果expr1不等于expr2,则返回expr1
示例
SELECT NULLIF(1, 1);  -- NULL
SELECT NULLIF(1, 2);  -- 1
SELECT NULLIF(NULL, NULL);  -- NULL
SELECT NULLIF(3 + NULL, NULL);  -- NULL
SELECT NULLIF(NULL, 0);  -- NULL

在第一个示例中,NULLIF()返回NULL,因为1等于1。在第二个示例中,NULLIF()返回1,因为1不等于2。在第三个示例中,NULLIF()返回NULL,因为NULL等于NULL。在第四个示例中,NULLIF()返回NULL,因为3 + NULL是NULL。在第五个示例中,NULLIF()返回NULL,因为NULL等于0。

如果要使用NULLIF()来防止除以零的错误,可以这样做:

SELECT 1 / NULLIF(0, 0);  -- NULL

如果第二个参数为0,则NULLIF()返回0,可以避免出现除以零的错误。