有一个图像字段,并希望从十六进制字符串插入到这个:
insert into imageTable(imageField) values(convert(image,0x3C3F78...))
但是当我运行选择的值是返回一个额外的0为0x03C3F78 …
这个额外的0引起另一个应用程序的问题,我不想要它.
如何停止额外的0被添加?
模式是:
CREATE TABLE [dbo].[templates]( [templateId] [int] IDENTITY(1,1) NOT NULL,[templateName] [nvarchar](50) NOT NULL,[templateBody] [image] NOT NULL,[templateType] [int] NULL)
查询是:
insert into templates(templateName,templateBody,templateType) values('I love stackoverflow',convert(image,0x3C3F786D6C2076657273696F6E3D.......),2)
实际的十六进制字符串相当大,可以在这里发布.
解决方法
我刚刚遇到类似的问题,我自责.
您可以复制所需数据的一部分.在我的情况下,我添加了’0’到blob结尾.
原因可能是将值从SQL Management Studio复制到剪贴板.
插入到imageTable(imageField)值(0x3C3F78 … A)
选择返回:0x03C3F78 …
插入到imageTable(imageField)值(0x3C3F78 … A 0)
选择返回:0x3C3F78 …
我希望这将有所帮助.
最好的祝愿.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。