| title | CHECKSUM_AGG (Transact-SQL) | Microsoft Docs | |||
|---|---|---|---|---|
| ms.custom | ||||
| ms.date | 07/24/2017 | |||
| ms.prod | sql | |||
| ms.prod_service | database-engine, sql-database | |||
| ms.reviewer | ||||
| ms.technology | t-sql | |||
| ms.topic | language-reference | |||
| f1_keywords |
|
|||
| dev_langs |
|
|||
| helpviewer_keywords |
|
|||
| ms.assetid | cdede70c-4eb5-4c92-98ab-b07787ab7222 | |||
| author | MikeRayMSFT | |||
| ms.author | mikeray |
[!INCLUDEtsql-appliesto-ss2008-asdb-xxxx-xxx-md]
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 [!INCLUDEssSampleDBnormal] database.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO [!INCLUDEssResult]
------------------------
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; [!INCLUDEssResult]
------------------------
287
CHECKSUM (Transact-SQL)
HASHBYTES (Transact-SQL)
BINARY_CHECKSUM (Transact-SQL)
OVER Clause (Transact-SQL)