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.
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
Zobacz także