tsql – 将十六进制字符串值插入到sql server image字段中追加额外的0

前端之家收集整理的这篇文章主要介绍了tsql – 将十六进制字符串值插入到sql server image字段中追加额外的0前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个图像字段,并希望从十六进制字符串插入到这个:
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 …

我希望这将有所帮助.

最好的祝愿.

猜你在找的MsSQL相关文章