Bagikan melalui


CHECKSUM_AGG (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceTitik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Fungsi ini mengembalikan checksum nilai dalam grup. CHECKSUM_AGG mengabaikan nilai null. Klausa OVER dapat mengikuti CHECKSUM_AGG.

Konvensi sintaks transact-SQL

Sintaks

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Argumen

ALL
Menerapkan fungsi agregat ke semua nilai. ALL adalah argumen default.

NYATA
Menentukan yang CHECKSUM_AGG mengembalikan checksum nilai unik.

expression
Ekspresi bilangan bulat. CHECKSUM_AGG tidak mengizinkan penggunaan fungsi atau subkueri agregat.

Jenis yang dikembalikan

Mengembalikan checksum dari semua nilai ekspresi sebagai int.

Keterangan

CHECKSUM_AGG dapat mendeteksi perubahan dalam tabel.

Hasilnya CHECKSUM_AGG tidak bergantung pada urutan baris dalam tabel. Selain itu, CHECKSUM_AGG fungsi memungkinkan penggunaan DISTINCT kata kunci dan GROUP BY klausa.

Jika nilai daftar ekspresi berubah, daftar nilai checksum daftar juga mungkin akan berubah. Namun, kemungkinan kecil ada bahwa checksum terhitung tidak akan berubah.

CHECKSUM_AGG memiliki fungsionalitas yang mirip dengan fungsi agregat lainnya. Untuk informasi selengkapnya, lihat Fungsi Agregat (Transact-SQL).

Contoh

Contoh ini digunakan CHECKSUM_AGG untuk mendeteksi perubahan pada Quantity kolom ProductInventory tabel dalam database AdventureWorks2025.

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

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

Berikut set hasilnya.

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

Berikut set hasilnya.

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

Lihat juga

CHECKSUM (T-SQL)

HASHBYTE (Transact-SQL)

BINARY_CHECKSUM (T-SQL)

Klausul OVER (Transact-SQL)