CHECKSUM_AGG (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstancePunto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Esta función devuelve la suma de comprobación de los valores de un grupo. CHECKSUM_AGG omite los valores NULL. La cláusula OVER puede seguir a CHECKSUM_AGG.

Convenciones de sintaxis de Transact-SQL

Sintaxis

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulta la Documentación de versiones anteriores.

Argumentos

ALL
Aplica la función de agregado a todos los valores. ALL es el argumento predeterminado.

DISTINCT
Especifica que CHECKSUM_AGG devuelve la suma de comprobación de valores únicos.

expression
Una expresión de entero. CHECKSUM_AGG no permite el uso de funciones de agregado ni subconsultas.

Tipos de valores devueltos

Devuelve la suma de comprobación de todos los valores de expression como int.

Comentarios

CHECKSUM_AGG puede detectar cambios en una tabla.

El resultado CHECKSUM_AGG no depende del orden de las filas de la tabla. Asimismo, las funciones CHECKSUM_AGG permiten el uso de la palabra clave DISTINCT y de la cláusula GROUP BY.

Si se cambia un valor de una lista de expresiones, probablemente también cambiará la lista de valores de la suma de comprobación de lista, aunque hay una pequeña posibilidad de que la suma de comprobación calculada no cambie.

CHECKSUM_AGG tiene una funcionalidad similar a la de otras funciones de agregado. Para más información, vea Funciones de agregado (Transact-SQL).

Ejemplos

En estos ejemplos se usa CHECKSUM_AGG para detectar cambios en la columna Quantity de la tabla ProductInventory en la base de datos AdventureWorks2022.

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

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

El conjunto de resultados es el siguiente:

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

El conjunto de resultados es el siguiente:

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

Vea también

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Cláusula OVER (Transact-SQL)