Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Endpoint SQL analytics dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans 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 servent CHECKSUM_AGG à détecter des changements dans la Quantity colonne de la ProductInventory table dans la base de données AdventureWorks2025.
--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