在实时处理中,当执行聚合、比较或数学计算时,处理表中的 NULL 值非常困难。SQL COALESCE 函数是处理 NULL 值为数不多的选项之一。本文将向您展示如何使用 COALESCE 函数、语法、优点以及通过示例处理表中的 NULL 值。
SQL Server COALESCE 函数从一系列表达式中返回第一个非 NULL 值。它允许您用替代的非空值替换 NULL 值。COALESCE 函数接受多个表达式作为输入参数,并按提供的顺序对其进行求值。它只返回第一个非 NULL 值,如果所有表达式都为 NULL,则返回 NULL 作为输出。
此函数的基本语法为:
COALESCE (expression1, expression2, ......, expressionN)
SQL COALESCE 函数示例
在字符串数据上使用此 Coalesce。第一个语句返回 "Apple" 作为输出,因为该函数将返回第一个非空值。
第二个 SQL Server 语句返回 "Orange" 作为输出。因为第一个是 NULL,所以函数总是返回第一个非空值。

Coalesce 在数值上的工作功能

SQL Server COALESCE 实际示例
如何通过您可能在实时环境中遇到的实际示例,在表中编写此 Coalesce 函数。在此演示中,我们使用 [Emp] 表。下面的屏幕截图显示了 Emp 表中的数据。如您所见,它有 15 条记录。

在此示例中,我们将使用 Coalesce 函数查找每位员工的联系电话。
- 如果员工有办公室电话,该函数将返回办公室电话。
- 如果员工没有办公室电话但有手机,此函数将显示手机号码。
- 而且,如果 Emp 表中的员工没有办公室电话或手机号码,但有家庭电话,则会显示家庭电话号码。
- 如果员工有办公室电话、手机和家庭电话,则它将返回第一个非空值,即办公室电话号码。
SELECT [Id]
,[Name]
,[Education]
,[Occupation]
,[YearlyIncome]
,COALESCE ([Office Phone], [Mobile], [Home Phone]) AS PHONE
,[Office Phone]
,[Mobile]
,[Home Phone]
FROM [Emp]

评论已关闭。