IFNULL函数是用于处理NULL值的MySQL控制流函数的一部分。
IFNULL函数接受两个表达式,如果第一个表达式为not null,它将返回第一个参数。如果第一个表达式为 null ,则返回第二个参数。
IFNULL (Expression1, Expression2)
如果expression1不为null,则返回expression1。否则,它将返回expression2。
| 参数 | 要求 | 说明 |
|---|---|---|
| Expression1 | 必需 | 此表达式用于检查它是否为NULL。 |
| Expression2 | 必需 | 当表达式1为NULL时将返回。 |
MySQL版本支持
IFNULL函数可以支持以下MySQL版本:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
让无涯教程通过以下示例了解MySQL IFNULL()函数。可以在 SELECT 语句中直接使用IFNULL函数。
例子1
SELECT IFNULL(0,5);
在上面的函数中,MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式,它为零。
0
例子2
SELECT IFNULL("Hello", "learnfk");
上面的MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式,其值为Hello。
Hello
例子3
SELECT IFNULL(NULL,5);
以下MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式。否则,它将返回第二个表达式,即5。
5
例子4
在这里,无涯教程将创建一个表student_contacts并执行IFNULL()函数。
CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, );
现在,您需要将数据插入表中。将值插入表后,执行以下查询。
SELECT
contactname, cellphone, homephone
FROM
student_contacts;
它将显示包含所有行和列的输出。在这里,无涯教程可以看到某些联系人只有手机或家庭电话号码。

在上面的输出中,无涯教程将获取所有联系人的姓名天气手机,以及家庭电话号码是否可用。因此,在那种情况下,IFNULL()函数起着重要的作用。
现在,运行以下MySQL查询。如果手机为NULL,则此语句返回homephone。
SELECT
contactname, IFNULL(cellphone, homephone) phone
FROM
student_contact;当上述MySQL语句成功运行时,将给出以下输出。