跳到主要内容

IFNULL

声明

IFNULL(expr1, expr2)

说明

假设 expr1 不为 NULL,则 IFNULL() 的返回值为 expr1;否则其返回值为 expr2IFNULL() 的返回值是数值或字符串,具体情况取决于其所使用的语境。

IFNULL() 的默认返回值类型按照以下方式计算:

表达式返回值
expr1expr2 返回值为一个字符串。字符串
expr1expr2 返回值为一个浮点值。浮点
expr1expr2 返回值为一个整数。整数

假如 expr1expr2 都是字符串,且其中任何一个字符串区分大小写,则返回结果是区分大小写。

示例

SELECT IFNULL('abc', null), IFNULL(NULL+1, NULL+2), IFNULL(1/0, 0/1);
+---------------------+------------------------+------------------+
| IFNULL('abc', null) | IFNULL(NULL+1, NULL+2) | IFNULL(1/0, 0/1) |
+---------------------+------------------------+------------------+
| abc | NULL | 0.0000 |
+---------------------+------------------------+------------------+
1 row in set (0.001 sec)