Partager via


CHECKSUM_AGG (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

Cette fonction retourne la somme de contrôle des valeurs dans un groupe. CHECKSUM_AGG ignore les valeurs NULL. La clause OVER peut suivre CHECKSUM_AGG.

Conventions de la syntaxe Transact-SQL

Syntaxe

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Arguments

ALL
Applique la fonction d'agrégation à toutes les valeurs. ALL est l’argument par défaut.

DISTINCT
Spécifie que CHECKSUM_AGG retourne la somme de contrôle de valeurs uniques.

expression
Expression d’entier. CHECKSUM_AGG n’autorise pas l’utilisation de fonctions d’agrégation ni de sous-requêtes.

Types de retour

Renvoie la somme de contrôle de toutes les valeurs d’expression en tant que int.

Remarques

CHECKSUM_AGG peut détecter les modifications effectuées dans une table.

L’ordre des lignes dans la table n’influe pas sur le résultat de CHECKSUM_AGG. En outre, les fonctions CHECKSUM_AGG permettent d’utiliser le mot clé DISTINCT et la clause GROUP BY.

Si une valeur de la liste d’expressions change, la liste de valeurs de la somme de contrôle de liste est susceptible de changer aussi. Il existe toutefois une faible probabilité pour que la somme de contrôle calculée ne change pas.

CHECKSUM_AGG a des fonctionnalités similaires à celles des autres fonctions d’agrégation. Pour plus d’informations, consultez les fonctions d’agrégation (Transact-SQL).

Exemples

Ces exemples utilisent CHECKSUM_AGG pour détecter des modifications dans la colonne Quantity de la table ProductInventory de la base de données AdventureWorks2022.

--Get the checksum value before the column value is changed.  

SELECT CHECKSUM_AGG(CAST(Quantity AS INT))  
FROM Production.ProductInventory;  
GO  

Voici le jeu de résultats.

------------------------  
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;  

Voici le jeu de résultats.

------------------------  
287  

Voir aussi

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

OVER Clause (Transact-SQL)