用法: 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]

这个可用来 一行来显示明细表中的信息,通常主表和细表是一对多的关系,把细表中的多用 for xml path 输出为一列,加到主表中一起输出。

T-sql for xml path使用的更多相关文章

  1. sql分组合并字段重复项sql for xml path

    -------------------------(情景描述) 在我们处理数据时,可能会碰到这种情景: Id                Name 1                  a,b 2  ...

  2. sql for xml path 处理

    1.将下列结果集 做成 aa   语文,数学 bb    英语,语文 这种格式 使用 for xml  path  记得去重复 WITH cte AS(SELECT stu.studentname,c ...

  3. 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器

    1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...

  4. SQL FOR XML PATH 用法

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  5. SQL FOR XML PATH 和 Stuff 用法

    sql stuff 用法 1.作用 删除指定长度的字符,并在指定的起点处插入另一组字符. 2.语法 STUFF ( character_expression , start , length ,cha ...

  6. SQL - for xml path('') 实现多行合并到一行, 并带有分隔符

    docs.microsoft.com 链接:  SQL一个应用场景与FOR XML PATH应用 首先呢!我们在增加一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号, ...

  7. SQLServer中sql for xml path 的用法

    我们通常需要获取一个多行的某个字段拼出的字符串,我们可以使用for xml path进行处理:下面将介绍for xml path的具体用法: 创建测试表&插入测试数据 在数据库中新增测试表 C ...

  8. sql For xml path('') 备忘

    sql 合并行使用的两个函数记录: SELECT CityName,STUFF((SELECT ',' + UserName FROM table1 subTitle WHERE CityName=A ...

  9. sql FOR XML PATH

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  10. SQL Server XML Path[转]

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

随机推荐

  1. CodeForces - 524F And Yet Another Bracket Sequence

    题面在这里! (会考完之后休闲休闲2333) 可以发现,如果把一个串中"()"自动删除,最后剩的一定是形如"))))....))(((..((("这样的串,然后 ...

  2. 【斜率优化】Average

    [UVa1451]Average 算法竞赛入门经典第8章8-9 ( P243 ) 题目大意:给定一个长度为N的01串,选择一个长度至少为L的连续子串,使序列平均值最大 (N<=100001) 题 ...

  3. ZOJ 2589 Circles(平面图欧拉公式)

    [题目链接] http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2589 [题目大意] 给出一些圆,问这些圆可以把平面分为几个部 ...

  4. [AGC026B]rng_10s

    题意:一个商店,第一天早上有$A$罐苹果汁,一个人每天上午都会来买$B$罐,每天晚上如果剩余罐数$\leq C$那么会增加$D$罐,问能否无限买 收集一个套路...? 首先如果$B\gt A$或者$B ...

  5. 【概率论】hdu5985 Lucky Coins

    kill(i,j)表示第i种硬币在第j轮或者之前就死光的概率,它等于(1-pi^j)^num(i) rev(i,j)表示第i种硬币在j轮后仍然存活的概率,它等于1-kill(i,j) 然后对每种硬币i ...

  6. 抽象类(abstract class)和接口(interface)的异同

    抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用.一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类. 接口比抽象类更加抽象,因 ...

  7. [转载]android工程中引入另一个工程中的资源

    原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以 ...

  8. 客户端实现负载均衡:springCloud Ribbon的使用

    Netfilx发布的负载均衡器,是一个基于http.tcp的客户端负载均衡工具,具有控制http.tcp客户端的行为,为ribbon配置服务提供者的地址后,ribbon就 可以经过springClou ...

  9. socket网络编程基础小记

    "一切皆Socket!" 话虽些许夸张.可是事实也是,如今的网络编程差点儿都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间怎样通 ...

  10. Struts2实现登录流程

    本节将演示一个基本的登录流程,在登录界面中若输入正确的用户名和密码,跳转到登录成功界面:否则路转到登录失败界面. 1 建立一个名为LoginDemo的动态Web项目 2 添加struts2相关的jar ...