Freigeben über


CHECKSUM_AGG (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance SQL Analysen-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric

Diese Funktion gibt die Prüfsumme der Werte in einer Gruppe zurück. CHECKSUM_AGG ignoriert NULL-Werte. Die OVER-Klausel kann CHECKSUM_AGG folgen.

Transact-SQL-Syntaxkonventionen

Syntax

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Argumente

ALL
Wendet die Aggregatfunktion auf alle Werte an. ALL ist das Standardargument.

DISTINCT
Gibt an, dass CHECKSUM_AGG die Prüfsumme von eindeutigen Werten zurückgeben soll.

expression
Ein Integerausdruck. CHECKSUM_AGG lässt das Verwenden von Aggregatfunktionen und Unterabfragen nicht zu.

Rückgabetypen

Gibt die Prüfsumme aller Ausdruckswerte als int zurück.

Hinweise

CHECKSUM_AGG kann Änderungen in einer Tabelle erkennen.

Das CHECKSUM_AGG-Ergebnis hängt nicht von der Reihenfolge der Zeilen in der Tabelle ab. Zudem lassen CHECKSUM_AGG-Funktionen das Verwenden des Schlüsselworts DISTINCT und der Klausel GROUP BY zu.

Wenn der Listenwert eines Ausdrucks geändert wird, ist es wahrscheinlich, dass sich auch die Werteliste der Listenprüfsumme verändert. Es besteht jedoch auch die Möglichkeit, dass sich die berechnete Prüfsumme nicht ändert.

CHECKSUM_AGG verfügt über Funktionen, die denen von Aggregatfunktionen ähneln. Weitere Informationen finden Sie unter Aggregatfunktionen (Transact-SQL).

Beispiele

In den folgenden Beispielen wird CHECKSUM_AGG verwendet, um Änderungen in der Quantity-Spalte der ProductInventory-Tabelle in der AdventureWorks2022-Datenbank zu erkennen.

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

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

Hier sehen Sie das Ergebnis.

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

Hier sehen Sie das Ergebnis.

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

Siehe auch

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

OVER-Klausel (Transact-SQL)