ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2023-01-26 13:05:25  阅读:551  来源: 互联网

标签: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
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[[email protected]]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有