MySQL COALESCE() 函数

2025年3月17日 | 阅读 3 分钟

MySQL 中的 COALESCE() 函数用于返回指定表达式序列中的第一个非 NULL 值。如果此函数计算列表中的所有值为 NULL,或者未找到任何非 NULL 值,则返回 NULL

语法

以下是在 MySQL 中使用 COALESCE() 函数的语法

在上面的语法中,我们可以看到该函数接受多个参数,并且当它找到第一个非 NULL 值时,它会返回该非 NULL 值。有时列表中的所有值都为 NULL;在这种情况下,它返回 NULL。

COALESCE() 函数类似于 IF_ELSE 语句,如下所示

参数解释

此函数只接受一个参数,即包含各种值的列表。

value1, value2,…..,valueN: 它指定列表中的值,以在输出中返回非 NULL 或 NULL 值。

我们可以通过以下图例更清楚地理解它

案例 1: COALESCE(NULL, NULL);

案例 2: COALESCE(0, NULL);

在这两种情况下,函数始终返回 NULL,因为它找不到任何非 NULL 值。

MySQL 版本支持

COALESCE() 函数支持以下 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 COALESCE() 函数。我们可以直接将 COALESCE() 函数与 SELECT 语句一起使用。

示例 1

输出

当我们对列表实现 coalesce 函数时,它将输出“A”,因为它是列表中的第一个非 NULL 值。

示例 2

输出

当我们对列表实现 coalesce 函数时,它将输出“Mango”,因为它已成为列表中的第一个非 NULL 值。

示例 3

输出

当我们对列表实现 coalesce 函数时,它将返回数值“1”,因为它已成为列表中的第一个非 NULL 值。

示例 4

输出

当我们对列表实现 coalesce 函数时,它将返回“javatpoint”,因为它已成为列表中的第一个非 NULL 值。

让我们在 MySQL 命令行工具中查看以上所有示例

MySQL COALESCE() Function

示例 5

在此示例中,我们将了解 COALESCE() 函数如何在表数据上工作。首先,使用以下语句创建名为“employee”的表

接下来,使用 INSERT 语句将数据添加到表中,如下所示

执行以下查询以显示表数据

我们将获得以下输出:

MySQL COALESCE() Function

现在,执行此语句,该语句使用 COALESCE() 函数仅在员工拥有所有联系电话时返回手机号码。

它将提供以下输出

MySQL COALESCE() Function

如果员工只有办公室或手机联系人,则执行此语句以返回办公室号码。当找不到办公室号码时,返回电话联系人。

我们将得到以下输出:

MySQL COALESCE() Function

IFNULL() 与 COALESCE() 函数

这些函数之间的主要区别是

IFNULL()COALESCE()
IFNULL() 函数只接受两个表达式。在进行评估后,如果第一个表达式不是 NULL,则返回该表达式;否则,返回第二个表达式。COALESCE() 函数返回指定表达式序列中的第一个非 NULL 值。如果此函数计算列表中的所有值为 NULL,或者未找到任何非 NULL 值,则返回 NULL。

下一主题MySQL 通配符