CHECKSUM_AGG (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечную точку аналитики SQL в хранилище Microsoft Fabric в Microsoft Fabric
Эта функция возвращает контрольную сумму значений в группе. Значения NULL функция CHECKSUM_AGG
не учитывает. Предложение OVER может следовать за функцией CHECKSUM_AGG
.
Соглашения о синтаксисе Transact-SQL
Синтаксис
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Аргументы
ALL
Применяет агрегатную функцию ко всем значениям. ALL является аргументом по умолчанию.
DISTINCT
Указывает, что CHECKSUM_AGG
возвращает контрольную сумму уникальных значений.
выражение
Целочисленное выражение. Функция CHECKSUM_AGG
не позволяет использовать агрегатные функции или вложенные запросы.
Типы возвращаемых данных
Возвращает контрольную сумму всех значений expression как int.
Замечания
Функция CHECKSUM_AGG
может обнаруживать изменения в таблице.
Результат функции CHECKSUM_AGG
не зависит от порядка строк в таблице. Кроме того, функции CHECKSUM_AGG
позволяют использовать ключевое слово DISTINCT
и предложение GROUP BY
.
Если значение в списке выражений изменяется, скорее всего также изменится значение контрольной суммы списка. Тем не менее существует небольшая вероятность того, что вычисленная контрольная сумма не изменится.
CHECKSUM_AGG
имеет функциональные возможности, аналогичные другим агрегатным функциям. Дополнительные сведения см. в статье Агрегатные функции (Transact-SQL).
Примеры
Эти примеры используются CHECKSUM_AGG
для обнаружения изменений в Quantity
столбце ProductInventory
таблицы в базе данных AdventureWorks2022.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
Вот результирующий набор.
------------------------
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;
Вот результирующий набор.
------------------------
287
См. также
КОНТРОЛЬНАЯ СУММА (Transact-SQL)