CHECKSUM_AGG (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
この関数はグループ内の値のチェックサムを返します。 CHECKSUM_AGG
は null 値を無視します。 OVER 句は CHECKSUM_AGG
に続けることができます。
構文
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