Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureКонечная точка аналитики SQL в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в 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 таблицы базы данных AdventureWorks2025.
--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)