MySQL IFNULL()函数
本节帮助您了解 MySQL IFNULL() 函数。IFNULL 函数是 MySQL 控制流函数的一部分,用于处理 NULL 值。
IFNULL 函数接受两个表达式,如果第一个表达式不为 null,则返回第一个参数。如果第一个表达式为null,则返回第二个参数。此函数返回字符串或数值,具体取决于使用它的上下文。
一、MySQL IFNULL()函数 的语法
IFNULL (Expression1, Expression2)
参数说明:
范围 | 要求 | 说明 |
---|---|---|
expression 1 | 必须的 | 此表达式用于检查它是否为 NULL。 |
expression 2 | 必须的 | 当表达式 1 为 NULL 时,它将返回。 |
二、MySQL IFNULL()函数 版本支持
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 函数。
三、MySQL IFNULL()函数 示例1
SELECT IFNULL(0,5);
在上述函数中,MySQL 语句检查第一个表达式。如果第一个表达式不为 NULL,它将返回第一个表达式,该表达式为零。
输出结果为:
0
四、MySQL IFNULL()函数 示例2
SELECT IFNULL("Hello", "javaTpoint");
上面的 MySQL 语句检查第一个表达式。如果第一个表达式不为 NULL,它将返回第一个表达式,即'Hello'值。
输出结果为:
Hello
五、MySQL IFNULL()函数 示例3
SELECT IFNULL(NULL,5);
以下 MySQL 语句检查第一个表达式。如果第一个表达式不为 NULL,它将返回第一个表达式。否则,它将返回第二个表达式,即五 (5)。
输出结果为:
5
六、MySQL IFNULL()函数 示例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,
);
现在,您需要将数据插入表中。将值插入表后,执行以下SQL。
SELECT
contactname, cellphone, homephone
FROM
student_contacts;
它将显示包含所有行和列的输出。在这里,我们可以看到一些联系人只有一个手机或家庭电话号码。
在上面的输出中,我们将获取所有联系人姓名和手机,以及家庭电话号码是否可用。因此,在这种情况下,IFNULL() 函数起着重要作用。
现在,运行以下 MySQL 查询。如果手机为 NULL,则此语句返回家庭电话号码。
SELECT
contactname, IFNULL(cellphone, homephone) phone
FROM
student_contact;
当上面的 MySQL 语句运行成功时,它会给出如下输出。
注意:您应该避免在 WHERE 子句中使用 IFNULL() 函数,因为该函数会降低查询的性能。
热门文章
优秀文章