求大神 sql 数据库 varchar 转成 image或者 binary类型

stringamd 2014-04-14 09:32:10
数据库中存放的是 winform通过 Convert.ToBase64String将图片转换后 varchar类型存入的
现在想把数据放到一个image类型的字段中字段 求解

select xxx,convert(image,structure,1) from
转换结果不对
...全文
517 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
stringamd 2014-04-16
  • 打赏
  • 举报
回复
引用 12 楼 findcaiyzh 的回复:
Insert into ... select... 不是循环。 循环为什么影响速度?反正都的一个一个处理,瓶颈应该是base64解码。
可以直接带入字段名 已经解决了 谢谢了
宝_爸 2014-04-15
  • 打赏
  • 举报
回复
Insert into ... select... 不是循环。 循环为什么影响速度?反正都的一个一个处理,瓶颈应该是base64解码。
stringamd 2014-04-15
  • 打赏
  • 举报
回复
引用 10 楼 findcaiyzh 的回复:
[quote=引用 9 楼 stringamd 的回复:] [quote=引用 8 楼 findcaiyzh 的回复:] 要不就用varbinary
单条可以,多条在存储过程中批处理这样就不行了啊,还有别的办法吗[/quote] 多条不能用吗?我觉得cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'binary(20)') 这个可以用在Insert into ... select...里面吧[/quote] 只能用循环啊 影响速度
宝_爸 2014-04-14
  • 打赏
  • 举报
回复
要不就用varbinary
宝_爸 2014-04-14
  • 打赏
  • 举报
回复
引用 5 楼 stringamd 的回复:
[quote=引用 2 楼 findcaiyzh 的回复:] sql server中base64编码解码参考: Converting from Base64 to varbinary and vice versa http://blogs.msdn.com/b/sqltips/archive/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa.aspx
select cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'binary'); 只转换了4位 为什么呢[/quote] 的加长度 declare @str varchar(20); set @str = '3qAAAA=='; select cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'binary(20)');
stringamd 2014-04-14
  • 打赏
  • 举报
回复
引用 4 楼 u014186547 的回复:
为什么将图片放在程序下的某个文件夹下,然后表里面存放图片的路径?这样不是更好么
图片需要远程加密后提交到数据库 而且都是小图片
stringamd 2014-04-14
  • 打赏
  • 举报
回复
引用 2 楼 findcaiyzh 的回复:
sql server中base64编码解码参考: Converting from Base64 to varbinary and vice versa http://blogs.msdn.com/b/sqltips/archive/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa.aspx
select cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'binary'); 只转换了4位 为什么呢
弑天屠龙 2014-04-14
  • 打赏
  • 举报
回复
为什么将图片放在程序下的某个文件夹下,然后表里面存放图片的路径?这样不是更好么
stringamd 2014-04-14
  • 打赏
  • 举报
回复
引用 1 楼 findcaiyzh 的回复:
varchar(max)也能保存很大的数据,为什么要转成Binary? 还是你想Base64解码后存到Binary?
Binary那个字段是已经存在的 现在新增功能需要把数据通过存储过程放到里面 要是通过软件就好办了
宝_爸 2014-04-14
  • 打赏
  • 举报
回复
sql server中base64编码解码参考: Converting from Base64 to varbinary and vice versa http://blogs.msdn.com/b/sqltips/archive/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa.aspx
宝_爸 2014-04-14
  • 打赏
  • 举报
回复
varchar(max)也能保存很大的数据,为什么要转成Binary? 还是你想Base64解码后存到Binary?
宝_爸 2014-04-14
  • 打赏
  • 举报
回复
引用 9 楼 stringamd 的回复:
[quote=引用 8 楼 findcaiyzh 的回复:] 要不就用varbinary
单条可以,多条在存储过程中批处理这样就不行了啊,还有别的办法吗[/quote] 多条不能用吗?我觉得cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'binary(20)') 这个可以用在Insert into ... select...里面吧
stringamd 2014-04-14
  • 打赏
  • 举报
回复
引用 8 楼 findcaiyzh 的回复:
要不就用varbinary
单条可以,多条在存储过程中批处理这样就不行了啊,还有别的办法吗

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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