Udostępnij za pośrednictwem


BINARY_CHECKSUM (Transact-SQL)

Zwraca wartooć binarnej suma kontrolna obliczona na podstawie wiersza tabela lub listy wyrażeń.BINARY_CHECKSUM może służyć do wykrywać zmian w wierszu tabela.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • *
    Określa, że obliczenie przez wszystkie kolumny tabela.BINARY_CHECKSUM ignoruje kolumn o typach danych noncomparable w jego obliczeń.Następujące typy danych noncomparable: text, ntext, image, cursor, xmli noncomparable wspólne language runtime (CLR) zdefiniowane przez użytkownika typów.

  • expression
    Jest wyrażenie dowolnego typu.BINARY_CHECKSUM ignoruje wyrażeń typy danych noncomparable w jego obliczeń.

Uwagi

BINARY_CHECKSUM(*), obliczanych na każdy wiersz tabelazwraca taką samą wartość jak długi wiersz nie jest modyfikowany później.BINARY_CHECKSUM(*) zwróci inną wartość dla większości, ale nie wszystkie zmiany w wierszu i mogą być używane do wykrywać najbardziej wierszy modyfikacji.

BINARY_CHECKSUM można stosować za pośrednictwem listy wyrażeń i zwraca taką samą wartość określonej listy.BINARY_CHECKSUM stosowane przez dwie listy wyrażeń zwraca taką samą wartość, odpowiadające im elementy dwie listy mają taką samą reprezentację typu i bajtów.Dla tej definicji wartości null określonego typu jest uznawany za taką samą reprezentację bajt.

BINARY_CHECKSUM i sumy kontrolnej są podobne funkcje: Może służyć do obliczenia wartości suma kontrolna na liście wyrażeń i kolejność wyrażeń wpływa na wartość wynikową.Kolejność kolumn używanych do BINARY_CHECKSUM(*) jest kolejność kolumn określone w definicji tabela lub widoku.Obejmują one kolumny obliczane.

Sumy kontrolnej i BINARY_CHECKSUM zwracają różne wartości dla ciąg typy danych, gdzie ustawienia regionalne może spowodować ciągów znaków z różnych reprezentacji porównać równe.Typy danych ciąg są char, varchar, nchar, nvarchar, lub sql_variant (Jeśli typ podstawy sql_variant jest typ danych ciąg ).Na przykład wartości BINARY_CHECKSUM ciągów "mccavity" i "mccavity" są różne.Natomiast w przypadek-niewrażliwe serwera tej samej wartości suma kontrolna dla tych ciągów zwraca wartość sumy kontrolnej.Wartości sumy kontrolnej nie powinny być porównywane z wartościami BINARY_CHECKSUM.

Przykłady

W poniższym przykładzie użyto BINARY_CHECKSUM do wykrywać zmian w wierszu tabela.

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