我正在尝试使用XML Path表达式从SQL Server 2008表中获取名字和姓氏。数据包含特殊字符。当我尝试运行SQL时,出现以下错误:
"FOR XML无法序列化节点“LastName”的数据,因为它包含一个不允许在XML中的字符(0x001B)。要使用FOR XML检索此数据,请将其转换为二进制、varbinary或图像数据类型,并使用BINARY BASE64指令"
我该如何重写SQL以在xml中包含这些字符(也许作为CDATA)?
"FOR XML无法序列化节点“LastName”的数据,因为它包含一个不允许在XML中的字符(0x001B)。要使用FOR XML检索此数据,请将其转换为二进制、varbinary或图像数据类型,并使用BINARY BASE64指令"
我该如何重写SQL以在xml中包含这些字符(也许作为CDATA)?
SELECT (
SELECT A1.FirstName
, A1.LastName
FROM dbo.kc_consumer AS A1
FOR XML PATH('Consumer') , TYPE)
AS ConsumerData
FOR XML PATH('Element'), ROOT('Elements')