📅  最后修改于: 2020-11-17 05:29:15             🧑  作者: Mango
本节帮助您了解MySQL IFNULL()函数。 IFNULL函数是用于处理NULL值的MySQL控制流函数的一部分。
IFNULL函数接受两个表达式,如果第一个表达式不为null,则返回第一个参数。如果第一个表达式为null,则返回第二个参数。此函数根据使用的上下文返回字符串或数字值。
我们可以通过以下语法使用IFNULL函数:
IFNULL (Expression1, Expression2)
如果expression1不为null,则返回expression1。否则,它将返回expression2。
Parameter | Requirement | Descriptions |
---|---|---|
Expression 1 | Required | This expression is used to check whether it is NULL or not. |
Expression 2 | Required | It will return when the expression 1 is NULL. |
IFNULL函数可以支持以下MySQL版本:
让我们通过以下示例了解MySQL IFNULL()函数。我们可以将IFNULL函数直接用于SELECT语句。
SELECT IFNULL(0,5);
在上面的函数,MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式,它为零。
输出:
0
SELECT IFNULL("Hello", "javaTpoint");
上面的MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式,即'Hello'值。
输出:
Hello
SELECT IFNULL(NULL,5);
以下MySQL语句检查第一个表达式。如果第一个表达式不为NULL,它将返回第一个表达式。否则,它将返回第二个表达式,即五(5)。
输出:
5
在这里,我们将创建一个表“ 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,则此语句返回家庭电话号码。
SELECT
contactname, IFNULL(cellphone, homephone) phone
FROM
student_contact;
输出:
当上述MySQL语句成功运行时,将给出以下输出。
注意:您应该避免在WHERE子句中使用IFNULL()函数,因为此函数会降低查询的性能。