以下我带大家了解关于 FOR XML PATH

  • 首先我们看下所熟悉的表数据

之后转换

 <骨牌编号>1</骨牌编号>
<骨牌颜色>橙</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.25</骨牌重量>
<生产日期>2015-05-05T00:00:00</生产日期>
<骨牌编号>2</骨牌编号>
<骨牌颜色>蓝</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.04</骨牌重量>
<生产日期>2015-12-21T00:00:00</生产日期>
<骨牌编号>3</骨牌编号>
<骨牌颜色>紫</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.39</骨牌重量>
<生产日期>2015-03-04T00:00:00</生产日期>
<骨牌编号>4</骨牌编号>
<骨牌颜色>紫</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.37</骨牌重量>
<生产日期>2015-07-16T00:00:00</生产日期>
<骨牌编号>5</骨牌编号>
<骨牌颜色>绿</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.30</骨牌重量>
<生产日期>2015-10-14T00:00:00</生产日期>
<骨牌编号>6</骨牌编号>
<骨牌颜色>红</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.34</骨牌重量>
<生产日期>2015-03-03T00:00:00</生产日期>
<骨牌编号>7</骨牌编号>
<骨牌颜色>绿</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.06</骨牌重量>
<生产日期>2015-11-19T00:00:00</生产日期>
<骨牌编号>8</骨牌编号>
<骨牌颜色>蓝</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.74</骨牌重量>
<生产日期>2015-02-04T00:00:00</生产日期>
<骨牌编号>9</骨牌编号>
<骨牌颜色>绿</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.54</骨牌重量>
<生产日期>2015-01-28T00:00:00</生产日期>
<骨牌编号>10</骨牌编号>
<骨牌颜色>紫</骨牌颜色>
<骨牌类型>石英</骨牌类型>
<骨牌价格>1.30</骨牌价格>
<骨牌重量>10.52</骨牌重量>
<生产日期>2015-05-07T00:00:00</生产日期>

从以上我们可以看到:

FOR XML PATH('') 这个代码是把SQL 的表格数据转换为XML数据流的功能

  PAHT('')的 '' 里面的从图

  
  可知是 PATH() 具表辨识行的作用。

  • 好了废话不多说,以下我就以标注的形式进行讲解:
 SELECT TOP 3骨牌编号
,骨牌颜色 -- 默认的列名为 骨牌颜色
,骨牌类型 AS DominoType -- 指定其他别名
,骨牌价格 + 骨牌重量 AS 组合值
,CONVERT(CHAR(10),生产日期,23) -- 当列进行编辑的时候,不附带AS别称的时候,会照成<生产日期></生产日期>丢失,即无列名
,骨牌颜色 + '的骨牌要花:' + CONVERT(VARCHAR(10),骨牌价格) + '元'
FROM [dbo].[骨牌存储箱]
FOR XML PATH('Item') -- 以Item为行号标识
 <Item>
<骨牌编号>1</骨牌编号>
<骨牌颜色>橙</骨牌颜色>
<DominoType>石英</DominoType>
<组合值>11.55</组合值>
2015-05-05
橙的骨牌要花:1.30元
</Item>
<Item>
<骨牌编号>2</骨牌编号>
<骨牌颜色>蓝</骨牌颜色>
<DominoType>石英</DominoType>
<组合值>11.34</组合值>
2015-12-21
蓝的骨牌要花:1.30元
</Item>
<Item>
<骨牌编号>3</骨牌编号>
<骨牌颜色>紫</骨牌颜色>
<DominoType>石英</DominoType>
<组合值>11.69</组合值>
2015-03-04
紫的骨牌要花:1.30元
</Item>

  就是列无标题的就是会失去<></>剩下的大家可以自由的组合编辑了。

  

FOR XML PATH 转换问题的更多相关文章

  1. (1.3)DML增强功能-Apply、pivot、unpivot、for xml path行列转换

    深入了解行列转换请参考另一篇文章:https://www.cnblogs.com/gered/p/9271581.html 总结: 1.apply一般形式 --基本形式 SELECT a FROM d ...

  2. 使用SQL SERVER FOR XML PATH将多个结果集转换成一行并进行去重处理

    在一个医药行业的系统中需要根据患者的接触记录ID获取不同接触类型的集合,效果像这样     --患者接触记录信息,一个患者可以有N个不同的接触记录,每个接触记录又有N个接触类型记录 IF OBJECT ...

  3. sql 将某列转换成一个字符串 for xml path用法

    declare @test table( name varchar(10)) insert into @test values('a') insert into @test values('b') i ...

  4. Sql Server FOR XML PATH

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

  5. 灵活运用 SQL SERVER FOR XML PATH

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

  6. 转王波洋,SQL语句中的 for XML Path('')

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

  7. sql FOR XML PATH

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

  8. FOR XML PATH 解决联接返回结果集各记录问题

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

  9. 将Xml字符串转换成(DataTable || DataSet || XML)对象

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...

随机推荐

  1. vs2010 和 svn的结合运用,svn的安装

    转自:http://www.cnblogs.com/joeylee/archive/2012/10/08/2715142.html 1:svn的安装,如何在vs2010里面添加 svn的插件呢? 在这 ...

  2. NOIP2013 货车运输 LCA倍增+最大生成树

    #include <cstdio> #include <iostream> #include <ctime> #include <vector> #in ...

  3. SSE求解向量大小

    float f=; __asm { mov esi, this ; vector u movups xmm0, [esi] ; first vector in xmm0 mulps xmm0, xmm ...

  4. oracle sys sysman system 介绍

    Oracle数据库中SYS.SYSTEM.DBSNMP.SYSMAN四用户的区别 SYS用户: SYS,默认密码为CHANGE_ON_INSTALL,当创建一个数据库时,SYS用户将被默认创建并授予D ...

  5. PHP中的empty()和isset()的比较

  6. HW3.29

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. 中局域网LAN中建立局域网可访问的类GitHub的服务器

    There are several ways to do this Host internal repositories like Gitlab (free software) or Stash. T ...

  8. Java NIO缓冲

    缓冲区(buffer)是从即将写入通道(channel)或刚刚从通道中读出的一段数据.它是一个持有数据,并扮演NIO通道端点的对象.缓冲区为数据访问和读写过程提供正式机制. 它是NIO和老版Java ...

  9. gridview合并单元格

    记录用,以前写过,忘记了转自:http://marss.co.ua/MergingCellsInGridView.aspx public class GridDecorator { public st ...

  10. storm出现的背景

     storm出现的背景 互联网从诞生的第一时间起,对世界的最大改变就是让信息能够实时交互,从而大大加速了各个环节的效率.正因为大家有对信息实时响应.实时交互的需求,所以软件行业除了个人操作系统之外,数 ...