T-sql for xml path使用(转)
Posted Blogger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-sql for xml path使用(转)相关的知识,希望对你有一定的参考价值。
参考:
http://www.cnblogs.com/langhua/p/4193161.html
//用法: FOR XML PATH 方法是用于将查询结果集以XML形式展示
sql:
select top 5 p.ContactTypeID,p.ModifiedDate,p.Name from [Person].[ContactType] p for xml path
显示结果:
<row> <ContactTypeID>1</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Accounting Manager</Name> </row> <row> <ContactTypeID>2</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Assistant Sales Agent</Name> </row> <row> <ContactTypeID>3</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Assistant Sales Representative</Name> </row> <row> <ContactTypeID>4</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Coordinator Foreign Markets</Name> </row> <row> <ContactTypeID>5</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Export Administrator</Name> </row>
path的用法:用来指定行结点,如果不指定行节点,默认使用\'row\',
sql:
select top 5 p.ContactTypeID,p.ModifiedDate,p.Name from [Person].[ContactType] p for xml path(\'AA\')
显示结果:
<AA> <ContactTypeID>1</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Accounting Manager</Name> </AA> <AA> <ContactTypeID>2</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Assistant Sales Agent</Name> </AA> <AA> <ContactTypeID>3</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Assistant Sales Representative</Name> </AA> <AA> <ContactTypeID>4</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Coordinator Foreign Markets</Name> </AA> <AA> <ContactTypeID>5</ContactTypeID> <ModifiedDate>2002-06-01T00:00:00</ModifiedDate> <Name>Export Administrator</Name> </AA>
下来来利用 for xml path 输出结果就是一行字符串,如果去掉行节点就可以把整列的结果输出一行,
sql : select top 5 \'[\'+ p.Name+\']\' from [Person].[ContactType] p for xml path(\'\')
显示结果:
[Accounting Manager][Assistant Sales Agent][Assistant Sales Representative][Coordinator Foreign Markets][Export Administrator]
以上是关于T-sql for xml path使用(转)的主要内容,如果未能解决你的问题,请参考以下文章
利用FOR XML PATH行转列(根据某字段分组,多行数据转成一行,并用逗号隔开)
T-SQL XQuery (XML路径查询) (转)http://blog.csdn.net/Beirut/article/details/8150116