2011-04-18 56 views

回答

6
select CAST(0x3C3F54657374696E672075706C6F61643F3E3C666F6F3E3C2F666F6F3E as XML) 

似乎工作。

Online Conversion Link

而且,因爲它似乎你的數據類型是image ...

;with t(c) as 
(
select CAST(0x3C3F54657374696E672075706C6F61643F3E3C666F6F3E3C2F666F6F3E as IMAGE) 

) 
select CAST(CAST(c as VARBINARY(MAX)) as XML) 
from t 
+0

很酷,謝謝 – Peter 2011-04-18 01:30:05

0

您可以使用未公開的存儲過程。

SELECT fn_varbintohexstr(@YourVarbar) 

你也應該能夠只是將它轉換爲一個varchar(最大)以及

Select CAST(@YourVarbar as Varchar(max)) 

第三種選擇是出於它創建一個XML文檔,並使用forXML 例在以下位置http://beyondrelational.com/blogs/jacob/archive/2009/06/13/converting-varbinary-to-varchar-using-for-xml.aspx

DECLARE @x VARBINARY(10) 
    SELECT @x = CAST('10' as VARBINARY(10)) 
    SELECT @x AS VarBinaryValue 
    SELECT (
    SELECT 
     CHAR(SUBSTRING(@x,number,1)) AS 'text()' 
    FROM master..spt_values 
    WHERE type = 'P' 
     AND Number BETWEEN 1 AND LEN(@x)  
    FOR XML PATH('') 
    ) AS TextValue 
+0

你好,謝謝,我想與你的第一個例子,並得到了「從數據類型的圖像顯式轉換爲varchar(最大值)不允許。」 – Peter 2011-04-18 01:23:21

+0

強制轉換不起作用。 – Martin 2011-12-16 17:11:47

相關問題