关于sql server中varbinary(max)类型的问题

zMhua_07 2008-12-03 02:20:22
谁能给我讲讲关于varbinary(max)类型。
用普通得select,update好像不能对他进行读写
怎么将一个文件写入varbinary(max)字段中
怎么select出来
...全文
2085 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynn_9527 2010-06-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cn_sql 的回复:]
SQL code

binary 和 varbinary 数据类型存储位串。尽管字符数据是根据 Microsoft SQL Server 2005 代码页进行解释的,但 binary 和 varbinary 数据仅是位流。

binary 数据最多可以存储 8,000 个字节。varbinary 使用最大说明符,最多可以存储 2^31 个字节。有关 varbinary(max), 的详细……
[/Quote]
zMhua_07 2008-12-05
  • 打赏
  • 举报
回复
解决了,谢谢各位讲解
zMhua_07 2008-12-03
  • 打赏
  • 举报
回复
6楼说的我想问问
在Microsoft SQL Server 2005 中的varbinary(max)类型都是一16进制方式存储的吗?
zMhua_07 2008-12-03
  • 打赏
  • 举报
回复
我没接触过Text 和 Image 数据
总体的意思是convert一下换成 varchar类型进行操作对吗?

1楼说的客户端语言,我用得好象是C++你会吗?能不能具体讲讲

谢谢啦
CN_SQL 2008-12-03
  • 打赏
  • 举报
回复

binary 和 varbinary 数据类型存储位串。尽管字符数据是根据 Microsoft SQL Server 2005 代码页进行解释的,但 binary 和 varbinary 数据仅是位流。

binary 数据最多可以存储 8,000 个字节。varbinary 使用最大说明符,最多可以存储 2^31 个字节。有关 varbinary(max), 的详细信息,请参阅使用大值数据类型。

二进制常量以 0x(一个零和小写字母 x)开始,后跟位模式的十六进制表示形式。例如,0x2A 表示十六进制值 2A,它等于十进制值 42 或单字节位模式 00101010。

存储十六进制值 [如安全标识号 (SID)、GUID(使用 uniqueidentifier 数据类型)或可以用十六进制方式存储的复杂数字时,使用二进制数据。

下面的 Transact-SQL 示例存储了 SID 和十六进制标识:


USE AdventureWorks;
GO
CREATE TABLE MyCcustomerTable
(
user_login varbinary(85) DEFAULT SUSER_SID(),
data_value varbinary(1)
);
GO

INSERT MyCustomerTable (data_value)
VALUES (0x4F);
GO

水族杰纶 2008-12-03
  • 打赏
  • 举报
回复
if object_id('tempdb..#')is not null drop table #
go
create table #(ID int identity,[Name] varbinary(100))
insert into #([Name]) values(convert(varbinary(200),'your string'))
select convert(varchar(200),[Name]) as yourString from #
/*
(影響 1 個資料列)

yourString
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
your string

(影響 1 個資料列)
*/
dawugui 2008-12-03
  • 打赏
  • 举报
回复
其操作方式类同操作 Text 和 Image 数据
dawugui 2008-12-03
  • 打赏
  • 举报
回复
varbinary [ ( n | max ) ]

可变长度二进制数据。n 可以取从 1 到 8,000 的值。max 指示最大的存储大小为 2^31-1 字节。存储大小为所输入数据的实际长度 + 2 个字节。所输入数据的长度可以是 0 字节。varbinary 的 SQL-2003 同义词为 binary varying。

dawugui 2008-12-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 zMhua_07 的帖子:]
谁能给我讲讲关于varbinary(max)类型。
用普通得select,update好像不能对他进行读写
怎么将一个文件写入varbinary(max)字段中
怎么select出来
[/Quote]
这是2005的内容.
jinjazz 2008-12-03
  • 打赏
  • 举报
回复
用客户端语言,比如c#可以把DataReader[字段]直接转为byte[]的数组类型。具体这个数组代表什么就自己转为什么,比如文件、图片之类的。

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧