Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
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
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
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 AdventureWorks2022 database.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
Here's the result set.
------------------------
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;
Here's the result set.
------------------------
287