IFNULL
声明
IFNULL(expr1, expr2)
说明
假设 expr1 不为 NULL,则 IFNULL() 的返回值为 expr1;否则其返回值为 expr2。IFNULL() 的返回值是数值或字符串,具体情况取决于其所使用的语境。
IFNULL() 的默认返回值类型按照以下方式计算:
| 表达式 | 返回值 |
|---|---|
expr1 或 expr2 返回值为一个字符串。 | 字符串 |
expr1 或 expr2 返回值为一个浮点值。 | 浮点 |
expr1 或 expr2 返回值为一个整数。 | 整数 |
假如 expr1 和 expr2 都是字符串,且其中任何一个字符串区分大小写,则返回结果是区分大小写。
示例
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)