MySQL IFNULL函数

MySQL IFNULL函数

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

IFNULL函数接受两个表达式,如果第一个表达式不为空,则返回第一个参数。如果第一个表达式为空,则返回第二个参数。该函数根据使用的上下文返回字符串或数字值。

语法

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

IFNULL (Expression1, Expression2)

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

参数

参数 要求 描述
表达式 1 必需 此表达式用于检查其是否为空。
表达式 2 必需 当表达式 1 为空时,它将返回。

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。

输出:

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;

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

MySQL IFNULL函数

在上述输出中,我们将获得所有联系人的姓名,无论手机号码和家庭电话号码是否可用。因此,在这种情况下,IFNULL()函数发挥了重要作用。

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

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

输出:

当上述MySQL语句成功运行时,将会得到以下输出。

MySQL IFNULL函数

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程