SQL Server 之 FOR XML PATH
2014-08-19 15:00 hduhans 阅读(168) 评论(0) 收藏 举报FOR XML PATH方法可以将查询的结果集以XML形式的展示,在实际应用中非常实用。
1、测试表Orders数据如下:

2、普通使用,执行 select * from Orders for xml path ,结果如:
<row><ID>1</ID><ProductName>钢笔</ProductName><CreateTime>2012-01-05T00:00:00</CreateTime></row><row><ID>2</ID><ProductName>笔记本</ProductName><CreateTime>2012-08-26T00:00:00</CreateTime></row><row><ID>3</ID><ProductName>餐巾纸</ProductName><CreateTime>2013-04-11T00:00:00</CreateTime></row><row><ID>4</ID><ProductName>电风扇</ProductName><CreateTime>2013-05-15T00:00:00</CreateTime></row>
3、自定义节点名,执行 select * from Orders for xml path('MyRow') ,结果如:
<MyRow><ID>1</ID><ProductName>钢笔</ProductName><CreateTime>2012-01-05T00:00:00</CreateTime></MyRow><MyRow><ID>2</ID><ProductName>笔记本</ProductName><CreateTime>2012-08-26T00:00:00</CreateTime></MyRow><MyRow><ID>3</ID><ProductName>餐巾纸</ProductName><CreateTime>2013-04-11T00:00:00</CreateTime></MyRow><MyRow><ID>4</ID><ProductName>电风扇</ProductName><CreateTime>2013-05-15T00:00:00</CreateTime></MyRow>
4、自定义格式,执行 select ProductName+',' from Orders for xml path('') ,结果如:
钢笔,笔记本,餐巾纸,电风扇,
5、移除最后一个, 执行语句:
--查询名称集合,移除最后一个, select LEFT(B.NameList,LEN(B.NameList)-1) as NameList from ( select (select ProductName+',' from Orders for xml path('')) as NameList --数据源 ) B
执行结果(最后一项无逗号):
钢笔,笔记本,餐巾纸,电风扇
浙公网安备 33010602011771号