MSSQL binary varbinary用法简介


一、MSSQL binary varbinary简介

binary(length) 表示 此字段最大可以存储 length字节的数据,MSSQL为此字段提供length字节的硬盘空间。
varbinary(length) 表示 此字段最大可以存储 length字节的数据,MSSQL为此字段提供大于等于零小于等于length字节的硬盘空间



此空间随着数据的大小而创建,
length最大值 为2^32-1 .


二、MSSQL binary varbinary应用场景简介


binary 常应用于存储列数据长度一致的字段定义
varbinary 常应用于列长度不一致的字段定义

例:

/*采用binary定义 当数据占用字节数不足时,左边自动补零,数据采用十六进制形式展示*/
declare @t1 binary(30)
set @t1 =2
select @t1 

/*采用binary定义 当数据占用字节数不足时,左边自动补零,数据采用十六进制形式展示*/
declare @t2 binary(10)
set @t2 =2
select @t2 

/*采用varbinary定义 当数据占用字节数不足时,系统将自动缩小占用空间,数据采用十六进制形式展示*/
declare @t3 varbinary(30)
set @t3=2
select @t3
/*采用varbinary定义 当数据占用字节数不足时,系统将自动缩小占用空间,数据采用十六进制形式展示*/
declare @t4 varbinary(10)
set @t4=2
select @t4
/*所以varbinary(30) 和 varbinary(10)占用空间是一致*/


变量被赋值 int 型
由于一个int占用4个字节32位,
所以打印十六进制需要0X00000000位,才能展示完32位二进制