共用方式為


CHECKSUM_AGG (Transact-SQL)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Microsoft Fabric 中的 SQL 分析端點 Microsoft Fabric 中的倉儲

此函式會傳回群組中值的總和檢查碼。 CHECKSUM_AGG 會忽略 Null 值。 OVER 子句可以跟在 CHECKSUM_AGG 後面。

Transact-SQL 語法慣例 (部分機器翻譯)

語法

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

引數

ALL
將彙總函式套用至所有值。 ALL 是預設引數。

DISTINCT
指定 CHECKSUM_AGG 傳回唯一值的總和檢查碼。

expression
整數運算式CHECKSUM_AGG 不允許使用彙總函式或子查詢。

傳回類型

將所有 expression 值的總和檢查碼作為 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  

另請參閱

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL) (部分機器翻譯)

OVER 子句 (Transact-SQL)