Aracılığıyla paylaş


BINARY_CHECKSUM (Transact-sql)

Döner ikili sağlama toplamı değeri tablonun bir satırında veya bir ifadeler listesinde hesaplanır. BINARY_CHECKSUM, bir tablodaki bir satır değişiklikleri algılamak için kullanılabilir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

BINARY_CHECKSUM ( * | expression [ ,...n ] ) 

Bağımsız değişkenler

  • *
    Hesaplama tablosunun tüm sütunları üzerinde olduğunu belirtir. BINARY_CHECKSUM sütun kendi kuramsal birifadenoncomparable veri türlerinden yoksayar. Birifadenoncomparable veri türleri text, ntext, image, cursor, xmlve birifadenoncomparable ortak dil çalışma zamanı (clr) kullanıcı tanımlı türler.

  • expression
    Olan bir ifade türü. BINARY_CHECKSUM birifadenoncomparable veri türleri, Hesaplama ifadeleri dikkate almaz.

Açıklamalar

BINARY_CHECKSUM(*), bir tablonun herhangi bir satırda hesaplanan uzun satır sonradan değişmedi aynı değeri döndürür. BINARY_CHECKSUM(*) çoğu, ancak, tüm değişiklikler için farklı bir değer satır döndürür ve çoğu satır değişiklikleri algılamak için kullanılabilir.

BINARY_CHECKSUM bir ifadeler listesinde üzerinde uygulanabilir ve listesiyle aynı değeri döndürür. İki listelere karşılık gelen elemanları aynı tip ve bayt gösterimi varsa ifadeler iki liste üzerinde uygulanan BINARY_CHECKSUM aynı değeri döndürür. Bu tanım için null değerleri belirli türde aynı bayt gösterimi için kabul edilir.

BINARY_CHECKSUM ve sağlama benzer işlevleri vardır: bir ifadeler listesinde bir sağlama toplamı değeri hesaplamak için kullanılabilir ve ifadeler sonuç değerini etkiler. BINARY_CHECKSUM(*) için kullanılan sütun sırasını, sütun tablo veya Görünüm tanımında belirtilen sıradır. Bunlar, hesaplanan sütunlar içerir.

Sağlama toplamı ve BINARY_CHECKSUM nerede locale dizeleri farklı gösterimi ile eşit karşılaştırmak için neden dize veri türleri için farklı değerler döndürür. Dize veri türleri char, varchar, nchar, nvarchar, veya sql_variant(base, yazarsanız sql_variantbir dize veri türüdür). Örneğin, "McCavity" dizelerini BINARY_CHECKSUM değerleri ve "Mccavity" farklıdır. Buna karşılık, duyarlı bir Server'da sağlama bu dizeleri aynı sağlama değerlerini döndürür. SAĞLAMA değerlerini BINARY_CHECKSUM değerlerle karşılaştırıldığında değil.

Örnekler

Aşağıdaki örnek BINARY_CHECKSUMbir tablonun bir satırında değişiklikleri algılamak için.

USE AdventureWorks2012;
GO
CREATE TABLE myTable (column1 int, column2 varchar(256));
GO
INSERT INTO myTable VALUES (1, 'test');
GO
SELECT BINARY_CHECKSUM(*) from myTable;
GO
UPDATE myTable set column2 = 'TEST';
GO
SELECT BINARY_CHECKSUM(*) from myTable;
GO

USE AdventureWorks2012;
GO
CREATE TABLE myTable (column1 int, column2 varchar(256));
GO
INSERT INTO myTable VALUES (1, 'test');
GO
SELECT BINARY_CHECKSUM(*) from myTable;
GO
UPDATE myTable set column2 = 'TEST';
GO
SELECT BINARY_CHECKSUM(*) from myTable;
GO

Ayrıca bkz.

Başvuru

Toplama işlevleri (Transact-sql)

Sağlama toplamı (Transact-sql)

checksum_agg (Transact-sql)