--楼主要处理的二进制有多长?--不超过8000字节的二进制处理--示例表
create table tb(id int identity,值 varbinary(8000))
go--示例存储过程
create proc p_save
@值 varbinary(8000)
as
insert tb values(@值)
go--调用存储过程
exec p_save 0x0239
go--显示结果
select * from tb
go--删除测试
drop table tb
drop proc p_save/*--测试结果id          值          
----------- ------------
1           0x0239(所影响的行数为 1 行)
--*/

解决方案 »

  1.   

    --超过8000字节的二进制处理
    --那样的话,字段类型得用image--示例表
    create table tb(id int identity,值 image)
    go--示例存储过程
    create proc p_save
    @值 image
    as
    insert tb values(@值)
    go--调用存储过程
    exec p_save 0x0239
    go--显示结果
    select * from tb
    go--删除测试
    drop table tb
    drop proc p_save/*--测试结果id          值          
    ----------- ------------
    1           0x0239(所影响的行数为 1 行)
    --*/
      

  2.   

    varbinary/binary/image都可以存储二进制数据varbinary/binary存储的二进制长度<=8000,其中varbinary是变长的,binary是定长的,不足的会在尾部补0image最大可以存储2G的数据.
      

  3.   

    要不能不能帮我解释一下:nchar
    varchar
    nvarchar都是什么意思? 能不由字符0切断吗?
      

  4.   

    char固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。varchar可变长度的非 Unicode 数据,最长为 8,000 个字符。
    nchar固定长度的 Unicode 数据,最大长度为 4,000 个字符。 nvarchar可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。ntext可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。