我想打印@file,但是由于大小原因,它被截断了。所以我选择使用:
SELECT CAST('<root><![CDATA[' + @file + ']]></root>' AS XML)
这提供了我所有的数据,但是我需要用<和>替换&lt和&gt。如果我尝试使用
SELECT REPLACE(CAST('<root><![CDATA[' + @file + ']]></root>' AS XML),'<','<')
我收到错误消息:参数数据类型xml对于replace函数的参数1无效。
如果我尝试
SET @file = CAST('<root><![CDATA[' + @file + ']]></root>' AS XML)
打印REPLACE(@file,'&lt','<')
我收到错误消息:不允许从数据类型xml到varchar(max)的隐式转换。
如果我使用
SET @file = convert(varchar(max),CAST('<root><![CDATA[' + @file + ']]></root>' AS XML))
打印REPLACE(REPLACE(@file,'<','<'),'>','>')
看起来不错,但是我的数据被截断了。
我该怎么办?