SELECT BINARY_CHECKSUM('Clifton House, Thornaby Place, Teesdale South, Stockton-On-Tees, Cleveland, TS17 6SD')
SELECT BINARY_CHECKSUM('Clifton House, Teesdale South, Thornaby Place, Stockton-On-Tees, Cleveland, TS17 6SD')
SELECT BINARY_CHECKSUM('Glenfield Hospital, Groby Road, , Leicester, Leicestershire, LE3 9DZ')
SELECT BINARY_CHECKSUM('Glenfield Hospital, Groby Road, , Leicester, Leicestershire, LE3 9EJ')
上記をご覧ください。テキストに違いがあっても、2 組のアドレスは同じチェックサム値を生成します。ランダムなコンテンツに対して CHECKSUM と BINARY_CHECKSUM が異なることを保証することはできませんが、特定の行の比較的小さな変更を判断するのに適していることを理解しています。
興味深いことに、これらの値のペアは正反対のことを示しています。それらは、非常に類似したデータ値に対して等しいチェックサム値を生成しています。これらは、実際には、大規模な (680,000 レコード) アドレス テーブルで唯一の重複するチェックサム値です。
UPDATE を生成する際のチェックサムの値を誤解しているのではないかと少し心配しています。データ行の変更を確実に検出するために、フィールド比較によるブルート フォース フィールドに頼る必要がありますか?
これらの例の元のデータは、6 つの別々の列にありました。わかりやすくするために、コード サンプルを最小限の状態に縮小しました。