MySQL IFNULL()
本节将帮助您了解MySQL IFNULL()函数。 IFNULL函数是用于处理NULL值的MySQL控制流函数的一部分。
IFNULL函数接受两个表达式,如果第一个表达式为
not null ,则返回第一个论点。如果第一个表达式为
null ,则返回第二个参数。此函数根据使用的上下文返回字符串或数字值。
语法
我们可以使用具有以下语法的IFNULL函数:
IFNULL (Expression1, Expression2)
当expression1不为null时,它将返回expression1、否则,它将返回expression2、
参数
参数 |
要求 |
说明 |
Expression1 |
Required |
此表达式用于检查它是否为NULL。 |
Expression2 |
Required |
当表达式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
在上面的函数中,MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式,该表达式为零。
输出:
示例2
SELECT IFNULL("Hello", "lidihuo");
上面的MySQL语句检查第一个表达式。如果第一个表达式不是NULL,它将返回第一个表达式,即
'Hello'值。
输出:
示例3
以下MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式。否则,它将返回第二个表达式,即五(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语句成功运行时,将给出以下输出。
注意: 您应该避免在WHERE子句中使用IFNULL()函数,因为该函数会降低查询的性能。