CHECKSUM_AGG (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Microsoft Fabric 中的 SQL 分析终结点 Microsoft Fabric 中的仓库
此函数返回组中各值的校验和。 CHECKSUM_AGG
将忽略 null 值。 OVER 子句可以遵循 CHECKSUM_AGG
。
语法
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
参数
ALL
向所有值应用此聚合函数。 ALL 为默认参数。
DISTINCT
指定 CHECKSUM_AGG
返回唯一值的校验和。
expression
整数表达式。 CHECKSUM_AGG
不允许使用聚合函数或子查询。
返回类型
将所有表达式值的校验和作为 int 类型返回。
注解
CHECKSUM_AGG
可以检测表中的更改。
CHECKSUM_AGG
结果不取决于表中行的顺序。 此外,CHECKSUM_AGG
函数允许使用 DISTINCT
关键字和 GROUP BY
子句。
如果表达式列表值更改,则列表校验和值列表很可能也会更改。 但是,也存在计算校验和不会更改这一很小的可能性。
CHECKSUM_AGG
具有类似于其他聚合函数的功能。 有关详细信息,请参阅聚合函数 (Transact-SQL)。
示例
这些示例使用 CHECKSUM_AGG
检测 AdventureWorks2022 数据库中 ProductInventory
表的 Quantity
列中的更改。
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
结果集如下。
------------------------
262
UPDATE Production.ProductInventory
SET Quantity=125
WHERE Quantity=100;
GO
--Get the checksum of the modified column.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
结果集如下。
------------------------
287