Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Magazyn w usłudze Microsoft Fabric
Baza 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