MySQL IFNULL()

17 Mar 2025 | 阅读 2 分钟

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

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

语法

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

当 expression1 不为 null 时,它返回 expression1。否则,它返回 expression2。

参数

参数要求描述
表达式 1必需此表达式用于检查它是否为 NULL。
表达式 2必需当 expression 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,它将返回第一个表达式,即零。

输出

0

示例 2

上面的 MySQL 语句会检查第一个表达式。如果第一个表达式不是 NULL,它将返回第一个表达式,即'Hello'值。

输出

Hello

示例 3

下面的 MySQL 语句会检查第一个表达式。如果第一个表达式不是 NULL,它将返回第一个表达式。否则,它将返回第二个表达式,即五(5)。

输出

5

示例 4

在这里,我们将创建一个名为'student_contacts'的表并执行 IFNULL() 函数。

现在,您需要向表中插入数据。在将值插入表后,执行以下查询。

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

MySQL IFNULL

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

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

输出

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

MySQL IFNULL

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


下一主题MySQL NULLIF()