This function returns the checksum of the values in a group. CHECKSUM_AGG
ignores null values. The OVER clause can follow CHECKSUM_AGG
.
Transact-SQL Syntax Conventions
ALL
Applies the aggregate function to all values. ALL is the default argument.
DISTINCT
Specifies that CHECKSUM_AGG
returns the checksum of unique values.
expression
An integer expression. CHECKSUM_AGG
does not allow use of aggregate functions or subqueries.
Returns the checksum of all expression values as int.
CHECKSUM_AGG
can detect changes in a table.
The CHECKSUM_AGG
result does not depend on the order of the rows in the table. Also, CHECKSUM_AGG
functions allow the use of the DISTINCT keyword and the GROUP BY clause.
If an expression list value changes, the list checksum value list will also probably change. However, a small possibility exists that the calculated checksum will not change.
CHECKSUM_AGG
has functionality similar to that of other aggregate functions. For more information, see Aggregate Functions (Transact-SQL).
These examples use CHECKSUM_AGG
to detect changes in the Quantity
column of the ProductInventory
table in the AdventureWorks2012 database.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
Here is the result set.
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;
Here is the result set.