CHECKSUM_AGG (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Denna funktion returnerar kontrollsumman av värdena i en grupp. CHECKSUM_AGG ignorerar nollvärden. OVER-klausulen kan följa.CHECKSUM_AGG

Transact-SQL syntaxkonventioner

Syntax

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Arguments

ALL
Tillämpar aggregeringsfunktionen på alla värden. ALLT är standardargumentet.

SÄRSKILD
Specificerar att CHECKSUM_AGG returnerar kontrollsumman av unika värden.

uttryck
Ett heltalsuttryck. CHECKSUM_AGG tillåter inte användning av aggregerade funktioner eller delfrågor.

Returtyper

Returnerar kontrollsumman av alla uttrycksvärden som int.

Anmärkningar

CHECKSUM_AGG kan upptäcka förändringar i en tabell.

Resultatet CHECKSUM_AGG beror inte på ordningen på raderna i tabellen. Dessutom CHECKSUM_AGG tillåter funktioner användning av DISTINCT nyckelordet och satsen GROUP BY .

Om ett uttryckslistvärde ändras, kommer listkontrollsummevärdeslistan sannolikt också att ändras. Det finns dock en liten möjlighet att den beräknade kontrollsumman inte kommer att ändras.

CHECKSUM_AGG har funktionalitet liknande den hos andra aggregatfunktioner. För mer information, se Aggregerade funktioner (Transact-SQL).

Examples

Dessa exempel används CHECKSUM_AGG för att upptäcka förändringar i kolumnen Quantity i ProductInventory tabellen i AdventureWorks2025-databasen.

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

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

Här är resultatet.

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

Här är resultatet.

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

Se även

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

OVER-klausul (Transact-SQL)