在 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 
 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" />
请注意上述查询的以下方面:
- 第一行中的 carriage return 被实体化为 
。
- 第二行中的 tab 被实体化为 	。
- 第三行中的 line feed 被实体化为 
。
在 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 支持