SQL用<和>替换@lt和@gt

时间:2018-09-11 16:24:43

标签: sql xml

我想打印@file,但是由于大小原因,它被截断了。所以我选择使用:

SELECT CAST('<root><![CDATA[' + @file + ']]></root>' AS XML)

这提供了我所有的数据,但是我需要用<和>替换&lt和&gt。如果我尝试使用

SELECT REPLACE(CAST('<root><![CDATA[' + @file + ']]></root>' AS XML),'&lt','<')

我收到错误消息:参数数据类型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,'<','<'),'>','>')

看起来不错,但是我的数据被截断了。

我该怎么办?

0 个答案:

没有答案
相关问题