Udostępnij za pomocą


CHECKSUM_AGG (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstancePunkt końcowy analizy SQL w usłudze Microsoft FabricMagazyn w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Funkcja ta zwraca sumę kontrolną wartości w grupie. CHECKSUM_AGG ignoruje wartości zerowe. Klauzula OVER może następować po CHECKSUM_AGG.

Transact-SQL konwencje składni

Składnia

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Arguments

WSZYSTKIE
Stosuje funkcję agregacji do wszystkich wartości. ALL to domyślny argument.

ODMIENNY
Określa, że CHECKSUM_AGG zwraca sumę kontrolną unikalnych wartości.

expression
Wyrażenie całkowite. CHECKSUM_AGG nie pozwala na korzystanie z funkcji agregatowych ani podzapytań.

Typy zwracane

Zwraca sumę kontrolną wszystkich wartości wyrażeń jako int.

Uwagi

CHECKSUM_AGG może wykrywać zmiany w tabeli.

Wynik CHECKSUM_AGG nie zależy od kolejności wierszy w tabeli. CHECKSUM_AGG Ponadto funkcje pozwalają na użycie DISTINCT słowa kluczowego i klauzuliGROUP BY.

Jeśli wartość listy wyrażeń się zmieni, prawdopodobnie zmieni się także lista wartości kontrolnych sumy listy. Jednak istnieje niewielka możliwość, że obliczona suma kontrolna się nie zmieni.

CHECKSUM_AGG posiada funkcje podobne do innych funkcji agregacyjnych. Więcej informacji można znaleźć w sekcji Funkcje agregowane (Transact-SQL).

Przykłady

Te przykłady służą CHECKSUM_AGG do wykrywania zmian w kolumnie Quantity tabeli ProductInventory w bazie danych AdventureWorks2025.

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

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

Oto zestaw wyników.

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

Oto zestaw wyników.

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

Zobacz także

SUMA KONTROLNA (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Klauzula OVER (Transact-SQL)