SQL:插入到Image列时为零

时间:2015-01-14 18:16:55

标签: sql sql-server zero

我正在尝试将XML的HEX表示形式(我将xml文件的HEX字符串)插入Image列。

我试过了:

if exists (select [Version] from [...].[dbo].[Table] where Version ='1.1.1.1') 
   update [.....].[dbo].[Table] 
   set [Xsd] = 0xEFBBBF3C3F7857465466....
else 
   insert into [....].[dbo].[Table] ([Version], [Xsd]) 
   values ('1.1.1.1',0xEFBBBF3C3F7857465466....)
go

但是,当我执行此查询时,我得到第一个零:

0x0EFBBBF3C3F7857465466.... - Image field, can NULL.

如何解决?我try to make replace尝试替换:

Select  replace(rtrim(replace('0x0EFBBBF3C3F7857465466....','0',' ')),' ','0');

但是得到十进制版本:307854 ......

长度是217847(我从0算起)。

另一个字符串插入没有零!

似乎它在SQL Server上是对齐的:当我添加' E'字符串末尾的符号 - 它使字符串的有效开头:0xEFBB ....

编辑:我删除了引号,但它不起作用。

1 个答案:

答案 0 :(得分:0)

哦,我解决了这个问题!

当我从文本编辑器中复制\粘贴它时,数据似乎会破坏;

所以,我必须从Hex编辑器(Hex Editor Neo)打开我的* .xml文件,go-> 查看 - >工具窗口 - >复制和导出;

它将制作窗口;在那个窗口 - 选择选项 - 没有分隔符.->它将制作简单的单行文件串。因此,复制所有选定的字符串 - 按复制,然后将其粘贴到sql文件中。

您可以使用其他一些HEX编辑器。