标签归档:系统函数

mssql sqlserver $PARTITION 系统函数功能说明及简介


摘要:
$PARTITION 系统函数的功能是对分区函数返回分区号
实验环境:sqlserver 2008



$PARTITION 简介

语法说明:
[database_name.] $PARTITION.partition_function_name(expression)
—————————————————–
参数说明:
database_name:
分区函数所在的数据库名称
partition_function_name:
分区函数的名称
expression:
此数据类型可以转换为分区函数中分区列所对应的数据类型
—————————————————–
返回值说明:
int

注意事项:
$PARTITION将返回1至分区函数的分区数的int
$PARTITION将返回分区号
此函数只能应用于企业版的sqlserver



$PARTITION 举例说明

   ---例1: 创建分区函数testPartition,使用$PARTITION 函数获取8分区列所对应的分区号
   ---创建分区函数  testPartition
      CREATE PARTITION FUNCTION testPartition ( int )  
      AS RANGE FOR VALUES (8, 18, 100) ;  
      GO  
     SELECT $PARTITION.testPartition(10) ;  
     GO   
	 drop partition testPartition   ---删除分区函数
     go
 

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两个函数同时进行计算校验值来进行相关判断

mssql sqlserver BINARY_CHECKSUM系统函数的用法简介


摘要:
BINARY_CHECKSUM系统函数用于检查表达式中的二进制校验值。
参数说明:
表达式:可以为列名也可以为*
binary_checkSum适用场景:
检测字段值是否发生变化,
检测数据表中行数据是否发生变化


例:
BINARY_CHECKSUM 系统函数举例应用说明:

create table test (keyId int identity,info varchar(20))
go
insert into test(info)values('a'),('b'),('c'),('d'),('e')
go
select binary_checksum(info) as [列二进制校验证],
binary_checksum(*) as [行二进制校验证],* from test 
go
--变更数据
update test set info ='test' where keyId =2
go
select binary_checksum(info) as [列二进制校验证],
binary_checksum(*) as [行二进制校验证],* from test 
go

go
truncate table test 
drop     table test 
 
mssql_sqlserver_binary_checksum二进制校验值生成方法

mssql_sqlserver_binary_checksum二进制校验值生成方法