其他分享
首页 > 其他分享> > sql基础?什么是sql中的合并?如何使用合并函数Coalesce

sql基础?什么是sql中的合并?如何使用合并函数Coalesce

作者:互联网

sql中coalesce函数也就是合并函数一直以来都是相对比较难以理解的操作,很多DBA都无法对合并用的多么合理,今天icode9小编给您整理了一篇关于sql合并函数的使用教程,一起来看看吧
 

在 SQL Server 中使用 SQL 合并函数

SQL Server中的内置字符函数允许您操作和转换数据。要产生有意义的数据,还需要分析数据集,探索数据值,并根据需要对值进行编码或解码。了解如何处理数据集中的缺失值,它们如何影响计算、查询、报告和数据集规划,以及如何避免让空值破坏您的结果集,这一点至关重要。

为了管理 NULL 值,使用了 SQL 中的 Coalesce 和 IsNull 函数。在表达式求值过程中,用户定义的值会替换 NULL 值。

SQL 函数中的 Coalesce 按指定顺序计算参数,并始终返回参数列表中的第一个非空值。

语法:COALESCE(表达式 [1..n])

什么是 NULL 值?

Null 是 SQL 中 Coalesce 中的条件,而不是值。这与大多数编程语言形成对比,在大多数编程语言中,引用的空值表示它不指向任何实体。

Coalesce in SQL 具有一些有价值的特性,可用于处理 SQL 查询中的字符数据,您将深入了解这些特性。

在Structured Query Language中,Null(或 NULL)是一个唯一的标记,表示数据库中不存在数据属性。SQL Null 由关系数据库模型的发明者 EF Codd 创建,以满足所有准确的关系数据库管理系统 (RDBMS) 接受“缺失信息和不适用信息”表示的要求。NULL 是 SQL 中的保留字,用于定义此标记。

SQL 合并函数

SQL 服务器的 Coalesce 函数用于处理 Null 值。在表达式计算过程中,空值将替换为用户定义的值。此函数从提供的参数列表中按特定顺序评估参数,并始终返回第一个非空值。

SQL Coalesce 函数的属性和示例

  • 表达式的数据类型必须相同
  • 它可以有多个表达式
  • SQL 中的 Coalesce 是 SQL 中 Case 表达式的语法快捷方式
  • 一个整数总是先求值,一个整数后跟一个字符表达式产生一个整数作为输出

示例 1:

选择合并(NULL、'Shobha'、'Shivakumar')

输出: 

 

Coalesce_In_SQL_1

示例 2:

选择合并(NULL,'Shobha',10,'Shivakumar')

输出: 

 

Coalesce_In_SQL_1
示例 3:

选择合并(NULL、10、'Shobha'、'Shivakumar')

输出: 

 

Coalesce_In_SQL_2

示例 4:

选择合并(NULL、10、20、30)

输出: 

 

Coalesce_In_SQL_2

示例 5:

选择合并(NULL、20、10、30)

输出: 

 

Coalesce_In_SQL_3

示例 6:

选择合并(NULL、20、NULL)

输出: 

 

Coalesce_In_SQL_3

字符串连接操作中的 SQL 合并

在以下示例中,您将连接几个值。然而,这又只是对当你有一个 NULL 感觉时发生的事情的回忆。现在,从 T-SQL 开始。你可以看到,在字符串连接过程中,它找到了一个 NULL 值。如果 Coalesce 在 SQL Server 中发现 NULL 值,它只返回 NULL。它不会生成名字、空名或姓氏的组合。

SQL SELECT firstName +' '+MiddleName+' '+ LastName FullName FROM Person.Person

合并枢轴 

您需要使用下面的示例来查找与紧急救援人员的联系。员工的电话号码通常出现在每个公司的工作、家庭和手机栏中。

您需要了解如何找到没有紧急联系的员工,或者换句话说,如何获取有关紧急员工的所有详细信息。

如果存在状态则删除表;

创建表状态

(

城市 VARCHAR(50),

状态 VARCHAR(500))

插入状态值

('阿普尔顿','WI'),('密尔沃基','WI'),('麦迪逊','WI'),('迈阿密','佛罗里达'),('杰克逊维尔','佛罗里达')

声明@col nvarchar(MAX);

SELECT @col = COALESCE(@col,'') +''''+CITY +''''+ ',' 

FROM dbo.STATE WHERE state = 'WI';

选择子字符串(@col,1,len(@col)-1)

输出

 

Coalesce_In_SQL_4

标量用户定义函数和 SQL 合并函数

表达式1 

此表达式返回任何内置或用户定义的数据形式的值。

表达式2 

此函数返回一个值,该值对应于表达式 1 中任何内置或用户定义数据类型的数据类型。结果数据类型的部分规则解释了数据类型是相互兼容的。

参数被评估为成立,函数的结果是第一个非空参数。如果所有声明都为零,则结果为零。

使用 SQL 合并函数进行数据验证

此组键用于对输出进行分组,并使用用户指定的函数返回给定输入的唯一字符串。对于此示例中的给定输入,标量值函数返回以逗号分隔的组合字符串值。收集州值,关联城镇值,在这种情况下,分隔符将贡献分开。如果您使用 SQL Server 2017,您还可以使用 String-AGG 函数。

例子 

创建函数 dbo.tfn_CoalesceConcat

(

  @state 变量(100)

)

返回 NVARCHAR(最大值)

作为

开始

  声明@str NVARCHAR(MAX); 

  选择 @str = COALESCE(@str + ', ', '') + 城市

来自 dbo.STATE

 哪里状态=@state

 按州订购; 

  返回(@str);

结尾

输出

 

Coalesce_In_SQL_5

结论

此博客解释了在 SQL 功能中使用 Coalesce 或 Coalesce SQL Oracle 有效地使用T-SQL 的有效提示和技巧。Coalesce 特性通常出现在查询、视图、存储过程等某些内容中。SQL 中的 Coalesce 可以用在函数中,使其更通用。通过将其放入计算列中,您可以提高其准确性并使结果始终可见。

标签:sql,sql合并函数,Coalesce
来源: