mssql sqlserver checkSum同binary_checksum函数用法区别


摘要:
下文讲述checksum同binary_checksum函数生成二进制校验值之间的区别,如下所示:
实验环境:
sqlserver 2008 R2

区别1:
区分大小写
checkSum对大小写不敏感,对大小写不同的字符串生成相同的校验值
binary_checksum对大小写非常敏感,当一个字符串大小写不同时,生成的校验值也不同,
———————-
区别2:
生成校验值的方式不同
checksum对值生成校验值
binary_checksum关键字,对字段的二进制生成校验值,如果两个表达式具有相同的类型和字节,那么binary_checksum将返回相同的值。
———————–
例:

   ---例1:大小写验证
select checksum('mao'),checksum('Mao') 
---checksum输出相同的校验值
select binary_checksum('mao'),binary_checksum('Mao')  
---binary_checksum输出不同的校验值

--例2:
select checksum('3mao'),checksum('2Mao') 
 
select binary_checksum('1maomao 10'),binary_checksum('2maomao 20')  
---不同的值,但是具有相同的binary_checksum校验值

mssql_sqlserver_checksum同binary_checksum区别应用简介

mssql_sqlserver_checksum同binary_checksum区别应用简介



既:比较列值是否发生变化时,应该分别采用binary_checksum和checksum两个函数同时进行计算校验值来进行相关判断