【发布时间】:2012-12-18 05:28:38
【问题描述】:
好的,问题是需要在 2 个表上进行合并或连接。一个将文件内容存储为 [image] 类型或 varbinary(max),另一个将文件内容存储为十六进制字符串。如果我将相同的内容上传到两个表中
字符串的内容(字节数组到字符串)看起来像这样......
'application/vnd.xfdl;content-encoding="base64-gzip"
H4sIAAAAAAAAC+y9e1fjONI4/H9/Cg173idwFgIJl+5m6MzPJAayE+KsnXQPs8+cHJMY8HZi57ET
aObMh3918UW2Jcdyrmbg7E7HtqpUpSqVSqWSdPHLj/EIPBuOa9rWl51K+WgHGNbAHprW45edpqYc
fPp0+vmgsvNL7cPFb1eNFoDlLffLztN0Ojk/PHx5eSl3Zo4hDx+N8sAeH6Iyh2fl0x1S8Hwwc6f2'
...
图像的内容看起来像(这最终是我想要的样子)
0x6170706C69636174696F6E
如果我选择convert(varbinary(MAX), @contentAsString),我会得到0x6100700070006C00690063006100740069006F006E
看起来好像转换是在目标上,但在每个之间放置了两个零 (00),由于缺少更好的词,我将其称为一个字节。
我已经尝试过各种更复杂的方法在论坛上发布,但无济于事。 任何帮助将不胜感激。
【问题讨论】:
-
在您的示例中,另一个表包含 base64 编码而不是十六进制字符串。该示例是您打算作为输出接收的还是实际的源格式?
-
这不是十六进制字符串。问题具有误导性。
标签: sql string type-conversion varbinary