binary和varbinary数据类型存储位串。尽管字符数据是根据Microsoft SQL Server 2005代码页进行解释的,但binary和varbinary数据仅是位流。
binary数据最多可以存储8000个字节。varbinary使用最大说明符,最多可以存储2^31个字节。
二进制常量以0x(一个零和小写字母x)开始,后跟位模式的十六进制表示形式。例如,0x2A表示十六进制值2A,它等于十进制值42 或单字节位模式00101010。
存储十六进制值,如安全标识号(SID)、GUID(使用uniqueidentifier数据类型)或可以用十六进制方式存储的复杂数字时,使用二进制数据。
下面的Transact-SQL示例存储了SID和十六进制标识:
use ceshi_jxt;
go
create table MyCustomerTable(
user_login varbinary(85),-- default suser_SID(),
data_value varbinary(1)
);
go
insert MyCustomerTable(data_value) values(0x4F);
select * from MyCustomerTable
go
执行结果如下图:
使用SID后:
use ceshi_jxt;
go
create table MyCustomerTable(
user_login varbin