我需要在SQL Server中检索存储为图像数据的xml文件。
我正在使用此查询 -
select
convert(varchar, convert(binary, zd.validcontent))
from
zonedata zd
join
contentitem ci on zd.itemid = ci.itemid
where
id = @dpathid
我得到了文字,但结果只返回了xml文件的一小部分 -
<?xml version="1.0" encoding="
请帮忙。感谢。
答案 0 :(得分:21)
这可能对你有所帮助 -
SELECT CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), zd.validcontent))
FROM zonedata zd
JOIN contentitem ci ON zd.itemid = ci.itemid
WHERE ID = @dpathid
答案 1 :(得分:8)
char [( n )]
varchar [( n | max )]
如果在数据定义或变量声明语句中未指定 n ,则默认长度为1.使用CAST和CONVERT函数时未指定 n 时,默认长度为30。
所以,请指定一个合适的长度(例如{@ 1}},如@ Devart的答案或更合适的值所示)