Sdílet prostřednictvím


CHECKSUM_AGG (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Tato funkce vrací kontrolní součet hodnot ve skupině. CHECKSUM_AGG ignoruje nulové hodnoty. Klauzule OVER může následovat CHECKSUM_AGG.

Transact-SQL konvence syntaxe

Syntaxe

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Arguments

ALL
Použije agregační funkci na všechny hodnoty. ALL je výchozí argument.

ODLIŠNÝ
Specifikuje, že CHECKSUM_AGG vrací kontrolní součet unikátních hodnot.

expression
Celočíselný výraz. CHECKSUM_AGG neumožňuje použití agregovaných funkcí nebo poddotazů.

Návratové typy

Vrátí kontrolní součet všech hodnot výrazů jako int.

Poznámky

CHECKSUM_AGG dokáže detekovat změny v tabulce.

Výsledek CHECKSUM_AGG nezávisí na pořadí řádků v tabulce. Funkce také CHECKSUM_AGG umožňují použití DISTINCT klíčového slova a klauzule GROUP BY .

Pokud se změní hodnota seznamu výrazů, pravděpodobně se změní i seznam kontrolních hodnot seznamu. Existuje však malá možnost, že vypočítaný kontrolní součet se nezmění.

CHECKSUM_AGG má funkce podobné ostatním agregovaným funkcím. Pro více informací viz Agregované funkce (Transact-SQL).

Examples

Tyto příklady slouží CHECKSUM_AGG k detekci změn ve sloupci Quantity tabulky ProductInventory v databázi AdventureWorks2025.

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

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

Tady je soubor výsledků.

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

Tady je soubor výsledků.

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

Viz také

KONTROLNÍ SOUČET (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Klauzule OVER (Transact-SQL)