如何将 OldValue 包装在 CDATA 中?
SELECT
1 AS Tag,
0 AS Parent,
(
SELECT PositionDescription AS 'data()'
FROM dbo.Project where ID = 32
FOR XML PATH('')
) AS 'PositionDescription!1!OldValue!CDATA'
FOR XML EXPLICIT, TYPE
最佳答案
只需删除 TYPE 关键字即可。并在子查询中使用原始字符串而不是 XML
SELECT
1 AS Tag,
0 AS Parent,
(
SELECT PositionDescription
FROM dbo.Project where ID = 32
) AS [PositionDescription!1!OldValue!CDATA]
FOR XML EXPLICIT
示例和输出
create table Project (PositionDescription varchar(100), id int)
insert project select 'abc<test>', 32
---
<PositionDescription>
<OldValue><![CDATA[abc<test>]]></OldValue>
</PositionDescription>
关于sql - 在 SQL Server 中创建 XML 时,如何将值包装在 CDATA 标记中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483786/