CHECKSUM_AGG (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

この関数はグループ内の値のチェックサムを返します。 CHECKSUM_AGG は null 値を無視します。 OVER 句CHECKSUM_AGG に続けることができます。

Transact-SQL 構文表記規則

構文

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

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  

関連項目

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

OVER 句 (Transact-SQL)