用法: 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. 【CCpp程序设计2017】推箱子游戏

    我的还……支持撤销!用链表实现! 题目:推箱子小游戏(基于console) 功能要求: 将p09迷宫游戏改造为“推箱子”游戏: 在地图中增加箱子.箱子目标位置等图形: 当玩家将所有箱子归位,则显示玩家 ...

  2. Activity(活动)生命周期--项目测试

    一.新建一个Activitylifetest项目,允许Android Studio帮我们自动创建活动和布局,并且勾选Luancher Activity来将创建的活动设置为主活动. 可以参考: http ...

  3. __dopostback的用法

    转载:http://blog.csdn.net/fwj380891124/article/details/8819926 在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBa ...

  4. udev详解

    转:http://www.360doc.com/content/10/0215/11/551936_15865336.shtml 如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Li ...

  5. Linux 下的图形库介绍

    在进行Linux下的图形系统编程时,我们常常会遇到以下这些概念: Framebuffer, X11, SDL,DFB, miniGUI, OpenGL,QT, GTK,KDE, GNOME等等. 一. ...

  6. [转]SSIS error DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER when connecting to Oracle data source

    本文转自:http://blogs.msdn.com/b/jorgepc/archive/2008/02/12/ssis-error-dts-e-cannotacquireconnectionfrom ...

  7. 流畅的python第十五章上下文管理器和else块学习记录

    with 语句和上下文管理器for.while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文.这么做能避免错误并减少样板代码, ...

  8. 2018.1.9 博客迁移至csdn

    http://blog.csdn.net/liyuhui195134?ref=toolbar

  9. ckeditor body与P标签去除

    项目中使用到了ckeditor ,但在比编辑框的下方多出两个标签,分别是一个 body与P标签,查询代码后发现不是我们自己增加,而是组件自己就有的问题 经过查询在使用的js申请处 新增 CKEDITO ...

  10. JVM性能监控工具(一)-jdk命令行工具

    转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...