SQL COALESCE 函数

在实时处理中,当执行聚合、比较或数学计算时,处理表中的 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 Function Return First Not Null Value 0

Coalesce 在数值上的工作功能

Coalesce on Numeric Values 1

SQL Server COALESCE 实际示例

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

在此示例中,我们将使用 Coalesce 函数查找每位员工的联系电话。

  1. 如果员工有办公室电话,该函数将返回办公室电话。
  2. 如果员工没有办公室电话但有手机,此函数将显示手机号码。
  3. 而且,如果 Emp 表中的员工没有办公室电话或手机号码,但有家庭电话,则会显示家庭电话号码。
  4. 如果员工有办公室电话、手机和家庭电话,则它将返回第一个非空值,即办公室电话号码。
SELECT [Id]
      ,[Name]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,COALESCE ([Office Phone],  [Mobile], [Home Phone]) AS PHONE
      ,[Office Phone]
      ,[Mobile]
      ,[Home Phone]
  FROM [Emp]
COALESCE Function 3

评论已关闭。