怎样在sqlserver2008中用sql语句操作二进制数据?

niushitana 2016-04-11 09:37:24
[size=24px]数据库用的是sqlserver2008,想把文件当作二进制数据存在数据库的表中,要求是用sql语句实现,以前没弄过,有以下几个问题请教:

1.在表中存这样的二进制数据用哪种类型字段好?


2.请问对这种二进制列进行查询和操作的select,update,insert,delete该怎么写?应该和操作普通列的不一样吧。


3.我安装的sqlserver2008 r2 企业版,但是打开SQL Server Management Studio后,想用帮助查某个t-sql函数,但是查不了,不知道是我操作不对,还是帮助安装不成功,麻烦知道的朋友指导一下。


非常感谢各位来帮忙回答,只能开100分的帖,分不够的话,可以再加。
...全文
787 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyney 2017-02-12
  • 打赏
  • 举报
回复
在二进制数据前加0x即可,如:UPDATE Users SET Sid = 0x0105000000000005150000008C695265AFB7152DA3697160F4010000
niushitana 2016-04-12
  • 打赏
  • 举报
回复
我的sql语句里不会涉及文件名,我是将客户端的文件作为二进制数据传到服务器端,我想知道的是服务器端收到二进制后,用怎样的sql语句存入数据表?以后又怎样读取出来(因为还可能要传回客户端)?然后版主能否告诉我,如果用https://msdn.microsoft.com/zh-cn/library/ms174318(v=sql.105).aspx去查,能否查到我前面问题的结果?具体的操作方法是怎样的(可能是人笨,查了半天没找到)? 谢谢。
唐诗三百首 2016-04-11
  • 打赏
  • 举报
回复
1.在表中存这样的二进制数据用哪种类型字段好? --> 推荐用varbinary(max)类型. 2.请问对这种二进制列进行查询和操作的select,update,insert,delete该怎么写?应该和操作普通列的不一样吧。 --> 一般是通过前端程序进行读写,而非纯SQL读写, 参考 http://www.cnblogs.com/zhouhb/archive/2013/02/13/2910808.html 3.我安装的sqlserver2008 r2 企业版,但是打开SQL Server Management Studio后,想用帮助查某个t-sql函数,但是查不了,不知道是我操作不对,还是帮助安装不成功,麻烦知道的朋友指导一下。 --> 我一般通过MSDN查询, 网址 https://msdn.microsoft.com/zh-cn/library/ms174318(v=sql.105).aspx
中国风 2016-04-11
  • 打赏
  • 举报
回复
数据库操作存储文件
CREATE TABLE myTable(FileName nvarchar(60), 
  FileType nvarchar(60), Document varbinary(max));
GO

INSERT INTO myTable(FileName, FileType, Document) 
   SELECT 'Text1.txt' AS FileName, 
      '.txt' AS FileType, 
      * FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document;
唐诗三百首 2016-04-11
  • 打赏
  • 举报
回复
第2个问题,我这个需求就是要求要用纯sql读写,所以还是得问下:涉及二进制的数据列的select和insert语句,和普通的一样还是有所区别,能写个例子就最好了。 --> 写入的例子如1楼所示, 读取时可用bcp导出为外部文件(SQL的bcp语法可baidu一下). 第3个问题,除了版主说的上网查MSDN帮助的方法,如果实在要在本地调帮助看,该怎样做了?我其实是想知道我本地的帮助是没有安装还是我安装了以后调用的方法不对? --> 应该没什么办法,其实2种方式的结果是一样的,建议不必纠结于此.
niushitana 2016-04-11
  • 打赏
  • 举报
回复
谢谢楼上两位版主回答, 第2个问题,我这个需求就是要求要用纯sql读写,所以还是得问下:涉及二进制的数据列的select和insert语句,和普通的一样还是有所区别,能写个例子就最好了。 第3个问题,除了版主说的上网查MSDN帮助的方法,如果实在要在本地调帮助看,该怎样做了?我其实是想知道我本地的帮助是没有安装还是我安装了以后调用的方法不对?

34,576

社区成员

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

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