sql基础?什么是sql中的合并?如何使用合并函数Coalesce
作者:互联网
在 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')
输出:
示例 2:
选择合并(NULL,'Shobha',10,'Shivakumar')
输出:
示例 3:
选择合并(NULL、10、'Shobha'、'Shivakumar')
输出:
示例 4:
选择合并(NULL、10、20、30)
输出:
示例 5:
选择合并(NULL、20、10、30)
输出:
示例 6:
选择合并(NULL、20、NULL)
输出:
字符串连接操作中的 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)
输出
标量用户定义函数和 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);
结尾
去
输出
结论
此博客解释了在 SQL 功能中使用 Coalesce 或 Coalesce SQL Oracle 有效地使用T-SQL 的有效提示和技巧。Coalesce 特性通常出现在查询、视图、存储过程等某些内容中。SQL 中的 Coalesce 可以用在函数中,使其更通用。通过将其放入计算列中,您可以提高其准确性并使结果始终可见。