程序员社区

MySQL系列教程 --- 54、MySQL 中的 IFNULL()函数

本节帮助您了解 MySQL IFNULL() 函数。IFNULL 函数是 MySQL 控制流函数的一部分,用于处理 NULL 值。

IFNULL 函数接受两个表达式,如果第一个表达式不为 null,则返回第一个参数。如果第一个表达式为null,则返回第二个参数。此函数返回字符串或数字值,具体取决于使用它的上下文。

句法

我们可以使用具有以下语法的 IFNULL 函数:

IFNULL (Expression1, Expression2)  

当表达式 1 不为空时,它返回表达式 1。否则,它将返回 expression2。

参数

范围 要求 说明
Expression 1 必需的 此表达式用于检查它是否为 NULL。
Expression 2 必需的 当表达式 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", "javaTpoint");  

上面的 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;  

它将显示包含所有行和列的输出。在这里,我们可以看到一些联系人只有手机或家庭电话号码。

file

在上面的输出中,我们将获得所有联系人姓名天气手机,家庭电话号码是否可用。因此,在这种情况下,IFNULL() 函数起着重要作用。

现在,运行以下 MySQL 查询。如果手机为 NULL,则此语句返回家庭电话号码。

SELECT   
    contactname, IFNULL(cellphone, homephone) phone  
FROM  
    student_contact;  

输出:

当上面的 MySQL 语句成功运行时,它会给出以下输出。

file

注意:您应该避免在 WHERE 子句中使用 IFNULL() 函数,因为该函数会降低查询的性能。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MySQL系列教程 --- 54、MySQL 中的 IFNULL()函数

一个分享Java & Python知识的社区