SQL CHECSUM()用法

      CHECKSUM 对其参数列表计算一个称为校验和的哈希值。此哈希值用于生成哈希索引。如果 CHECKSUM 的参数为列,并且对计算的 CHECKSUM 值生成索引,则结果是一个哈希索引。它可用于对列进行等价搜索。
     CHECKSUM 满足哈希函数的下列属性:在使用等于 (=) 运算符比较时,如果两个列表的相应元素具有相同类型且相等,则在任何两个表达式列表上应用的 CHECKSUM 将返回同一值。对于该定义,指定类型的空值被作为相等进行比较。如果表达式列表中的某个值发生更改,则列表的校验和通常也会更改。但只在极少数情况下,校验和会保持不变。表达式的顺序影响 CHECKSUM 的结果值。用于 CHECKSUM(*) 的列顺序是表或视图定义中指定的列顺序。其中包括计算列。可以用于多个字段判断
create table #A( A int )
insert #A
select 1 union all
select 3 union all
select 4 union all
select 8 union all
select 7
create table #B( B int )
insert #B
select 2 union all
select 3 union all
select 6 union all
select 8 union all
select 9
 
select * from #A where checksum(*)not in (select checksum(*) from #B)
  --这样就得到了在#A表中而不在#B表中的数据,可以是多个字段

posted on 2011-06-20 22:43  long6  阅读(455)  评论(0)    收藏  举报

导航