for xml path用法

-----查询表中的数据,将数据转换成xml格式

select  * from  A  for  xml path

-----表中的数据转换成xml格式

<row>
<ID>1 </ID>
<NAME>张三 </NAME>
<VALUE>aaa </VALUE>
</row>
<row>
<ID>2 </ID>
<NAME>张三 </NAME>
<VALUE>bbb </VALUE>
</row>
<row>
<ID>3 </ID>
<NAME>张三 </NAME>
<VALUE>ccc </VALUE>
</row>
<row>
<ID>4 </ID>
<NAME>张三 </NAME>
<VALUE>ddd </VALUE>
</row>
<row>
<ID>5 </ID>
<NAME>李四 </NAME>
<VALUE>eee </VALUE>
</row>
<row>
<ID>6 </ID>
<NAME>李四 </NAME>
<VALUE>fff </VALUE>
</row>
<row>
<ID>7 </ID>
<NAME>李四 </NAME>
<VALUE>ggg </VALUE>
</row>
<row>
<ID>8 </ID>
<NAME>李四 </NAME>
<VALUE>hhh </VALUE>
</row>
<row>
<ID>9 </ID>
<NAME>王五 </NAME>
<VALUE>sss </VALUE>
</row>
<row>
<ID>10 </ID>
<NAME>王五 </NAME>
<VALUE>zzz </VALUE>
</row>
<row>
<ID>11 </ID>
<NAME>王五 </NAME>
<VALUE>yyy </VALUE>
</row>
<row>
<ID>12 </ID>
<NAME>王五 </NAME>
<VALUE>ttt </VALUE>
</row>

原文地址:https://www.cnblogs.com/liling1994/p/8872444.html

时间: 2024-10-17 11:54:33

for xml path用法的相关文章

SQL FOR XML PATH 和 Stuff 用法

sql stuff 用法 1.作用 删除指定长度的字符,并在指定的起点处插入另一组字符. 2.语法 STUFF ( character_expression , start , length ,character_expression ) 3.示例 以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串 SELECT STUFF('abcdef', 2, 3, 'ijklmn')GO 下面是结果集 a

Sql server—— for xml path简单用法(可以按照分组把相同组的列中的不同的值,像字符串一样拼接在一起显示在分组之后的列中。)

一个表,然后语句如下 --查询 select id, name=stuff((select ','+name from tb where id=t.id for xml path('')),1,1,'') from tb t group by id 结果如下: 分组的时候 注意看清 id=t.id  .错误的情况会把所有的列加起来.非常尴尬.

使用 SQL的 for xml path来进行字符串拼接

本篇主要讲怎么利用SQL的FOR XML PATH 参数来进行字符串拼接,FOR XML PATH的用法很简单,它会以xml文件的形式来返回数据. 我的讲解步骤: 1:构造初始数据 2:提出问题 3:简单介绍FOR XML PATH 4:解答问题 1.构造初始数据 举出一个经典的学生课程例子,共有学生.课程与学生课程三张表. 表1:Student student_id student_name 1 张三 2 李四 3 王五 表2:Course course_id course_name 1 语言

FOR XML PATH实现小九九

数据库环境:SQL SERVER2008R2 今天我们用SQL实现一下九九乘法表的功能. 实现的逻辑不是很复杂,难点在于怎么把想要的内容从同一列里头拼接到同一行上. 在这里,我们用到了FOR XML PATH,FOR XML的用法,可以到MSDN去看,这里就不细讲了. /*数据准备,生成自然数1-9*/ WITH x0 AS ( SELECT id FROM t100 WHERE id <= 9 ),/*生成所有可能的乘法组合*/ x1 AS ( SELECT a.id AS aid , b.i

使用For XML PATH 会影响Cross Apply 返回

昨天在写语句的时候,遇到了一个现象,其实就是使用 Cross Apply做一个拼接字符串的而已.比如 CREATE TABLE GoodsCatalog (ID INT, Name NVARCHAR(50)) CREATE TABLE Goods (ID INT, GoodsCatalogID INT, Name NVARCHAR(50)) INSERT INTO GoodsCatalog ( ID, Name ) VALUES ( 1,'水果'),( 2,'体育用品') INSERT INTO

FOR XML PATH 应用及其反向分解

数据库环境:SQL SERVER 2005 我们实现将同一组的数据内容合并到一行的时候,可以通过FOR XML PATH来实现. 有数据如图1,要实现图2的效果              1.图1到图2的FOR XML PATH实现 网上有很多介绍FOR XML的方法,这里不再细说,感兴趣的朋友可以去查询一下它的用法. --数据准备 ;WITH x0 AS ( SELECT 1 AS id , '001' AS ty UNION ALL SELECT 1 AS id , '002' AS ty

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> <

Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH(&#39;&#39;)、STUFF或REPLACE函数

示例表 tb 数据如下 id value-----1 aa1 bb2 aaa2 bbb2 ccc SELECT id, [val] = ( SELECT [value] + ',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 显示结果 1 aa,bb, 1 aa,bb, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, SELECT id, [val]=( SELECT [v

合并多行查询数据到一行:使用自连接、FOR XML PATH(&#39;&#39;)、STUFF或REPLACE函数

示例表 tb 数据如下 id value—————1 aa1 bb2 aaa2 bbb2 ccc 第一种 SELECT id, [val]=( SELECT [value] +',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 第一种显示结果 1 aa,bb, 1 aa,bb, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 第二种 SELECT id, [val]=( S