在SQL Server 2005中检索作为字符串存储为图像的数据

时间:2013-07-11 07:57:11

标签: sql-server sql-server-2005

我需要在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="

请帮忙。感谢。

2 个答案:

答案 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 and varchar

  

char [( n )]

     

varchar [( n | max )]

     

如果在数据定义或变量声明语句中未指定 n ,则默认长度为1.使用CAST和CONVERT函数时未指定 n 时,默认长度为30。

所以,请指定一个合适的长度(例如{@ 1}},如@ Devart的答案或更合适的值所示)