字符串数据类型的 FOR XML 支持

在 SQL Server 2000 中,数据中的空格字符按原样返回。在 SQL Server 2005 中,将实体化数据中由 FOR XML 空格字符生成的 XML。

下面的示例创建了示例表 T,并插入了包括 line feed、carriage return 和 tab 字符的示例数据。SELECT 语句从表中检索数据。

CREATE TABLE T
(
  c1 int identity primary key,
  c2 varchar(100)
)
go
 
insert T (c2) values ('Special character 0xD for carriage return ' + convert(varchar(10), 0xD) + ' after carriage return')
insert T (c2) values ('Special character 0x9 for tab ' + convert(varchar(10), 0x9) + ' after tab' )
insert T (c2) values ('Special character 0xA for line feed ' + convert(varchar(10), 0xA) + ' after line feed')
go
SELECT * 
FROM T
FOR XML AUTO
go

结果如下:

  <T c1="1" c2="Special character 0xD for carriage return &#xD; after carriage return" />
  <T c1="2" c2="Special character 0x9 for tab &#x09; after tab" />
  <T c1="3" c2="Special character 0xA for line feed &#xA; after line feed" />

请注意上述查询的以下方面:

  • 第一行中的 carriage return 被实体化为 &#xD。
  • 第二行中的 tab 被实体化为 &#x09。
  • 第三行中的 line feed 被实体化为 &#xA。

在 SQL Server 2000 中,因为空格未实体化,所以将收到下面的行集:

<T c1="1" c2="Special character 0xD for carriage return  after carriage return"/>
<T c1="2" c2="Special character 0x9 for tab     after tab"/>
<T c1="3" c2="Special character 0xA for line feed 
 after line feed"/>
    

请参阅

参考

各种 SQL Server 数据类型的 FOR XML 支持

帮助和信息

获取 SQL Server 2005 帮助