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

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

之后转换

  1. <骨牌编号>1</骨牌编号>
  2. <骨牌颜色>橙</骨牌颜色>
  3. <骨牌类型>石英</骨牌类型>
  4. <骨牌价格>1.30</骨牌价格>
  5. <骨牌重量>10.25</骨牌重量>
  6. <生产日期>2015-05-05T00:00:00</生产日期>
  7. <骨牌编号>2</骨牌编号>
  8. <骨牌颜色>蓝</骨牌颜色>
  9. <骨牌类型>石英</骨牌类型>
  10. <骨牌价格>1.30</骨牌价格>
  11. <骨牌重量>10.04</骨牌重量>
  12. <生产日期>2015-12-21T00:00:00</生产日期>
  13. <骨牌编号>3</骨牌编号>
  14. <骨牌颜色>紫</骨牌颜色>
  15. <骨牌类型>石英</骨牌类型>
  16. <骨牌价格>1.30</骨牌价格>
  17. <骨牌重量>10.39</骨牌重量>
  18. <生产日期>2015-03-04T00:00:00</生产日期>
  19. <骨牌编号>4</骨牌编号>
  20. <骨牌颜色>紫</骨牌颜色>
  21. <骨牌类型>石英</骨牌类型>
  22. <骨牌价格>1.30</骨牌价格>
  23. <骨牌重量>10.37</骨牌重量>
  24. <生产日期>2015-07-16T00:00:00</生产日期>
  25. <骨牌编号>5</骨牌编号>
  26. <骨牌颜色>绿</骨牌颜色>
  27. <骨牌类型>石英</骨牌类型>
  28. <骨牌价格>1.30</骨牌价格>
  29. <骨牌重量>10.30</骨牌重量>
  30. <生产日期>2015-10-14T00:00:00</生产日期>
  31. <骨牌编号>6</骨牌编号>
  32. <骨牌颜色>红</骨牌颜色>
  33. <骨牌类型>石英</骨牌类型>
  34. <骨牌价格>1.30</骨牌价格>
  35. <骨牌重量>10.34</骨牌重量>
  36. <生产日期>2015-03-03T00:00:00</生产日期>
  37. <骨牌编号>7</骨牌编号>
  38. <骨牌颜色>绿</骨牌颜色>
  39. <骨牌类型>石英</骨牌类型>
  40. <骨牌价格>1.30</骨牌价格>
  41. <骨牌重量>10.06</骨牌重量>
  42. <生产日期>2015-11-19T00:00:00</生产日期>
  43. <骨牌编号>8</骨牌编号>
  44. <骨牌颜色>蓝</骨牌颜色>
  45. <骨牌类型>石英</骨牌类型>
  46. <骨牌价格>1.30</骨牌价格>
  47. <骨牌重量>10.74</骨牌重量>
  48. <生产日期>2015-02-04T00:00:00</生产日期>
  49. <骨牌编号>9</骨牌编号>
  50. <骨牌颜色>绿</骨牌颜色>
  51. <骨牌类型>石英</骨牌类型>
  52. <骨牌价格>1.30</骨牌价格>
  53. <骨牌重量>10.54</骨牌重量>
  54. <生产日期>2015-01-28T00:00:00</生产日期>
  55. <骨牌编号>10</骨牌编号>
  56. <骨牌颜色>紫</骨牌颜色>
  57. <骨牌类型>石英</骨牌类型>
  58. <骨牌价格>1.30</骨牌价格>
  59. <骨牌重量>10.52</骨牌重量>
  60. <生产日期>2015-05-07T00:00:00</生产日期>

从以上我们可以看到:

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

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

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

  • 好了废话不多说,以下我就以标注的形式进行讲解:
  1. SELECT TOP 3骨牌编号
  2. ,骨牌颜色 -- 默认的列名为 骨牌颜色
  3. ,骨牌类型 AS DominoType -- 指定其他别名
  4. ,骨牌价格 + 骨牌重量 AS 组合值
  5. ,CONVERT(CHAR(10),生产日期,23) -- 当列进行编辑的时候,不附带AS别称的时候,会照成<生产日期></生产日期>丢失,即无列名
  6. ,骨牌颜色 + '的骨牌要花:' + CONVERT(VARCHAR(10),骨牌价格) + '元'
  7. FROM [dbo].[骨牌存储箱]
  8. FOR XML PATH('Item') -- Item为行号标识
  1. <Item>
  2. <骨牌编号>1</骨牌编号>
  3. <骨牌颜色>橙</骨牌颜色>
  4. <DominoType>石英</DominoType>
  5. <组合值>11.55</组合值>
  6. 2015-05-05
  7. 橙的骨牌要花:1.30元
  8. </Item>
  9. <Item>
  10. <骨牌编号>2</骨牌编号>
  11. <骨牌颜色>蓝</骨牌颜色>
  12. <DominoType>石英</DominoType>
  13. <组合值>11.34</组合值>
  14. 2015-12-21
  15. 蓝的骨牌要花:1.30元
  16. </Item>
  17. <Item>
  18. <骨牌编号>3</骨牌编号>
  19. <骨牌颜色>紫</骨牌颜色>
  20. <DominoType>石英</DominoType>
  21. <组合值>11.69</组合值>
  22. 2015-03-04
  23. 紫的骨牌要花:1.30元
  24. </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. CVirtualGridCtrl控件内的数据如何获取

    CVirtualGridCtrl控件是同花顺自己写的控件和网上的不同,难处理,可以通过 模拟输入ctrl+c,然后从clipboard提取内容.

  2. 解决 EF 分层查询的一个性能问题[转]

    前两年帮朋友 做了个网吧管理软件,采用动软的三层架构 sql语句生成的.最近因功能变更 要改动,而我这段正在做asp.net mvc +ef+autofac的一个电商网站.索性 就把原来的底层全重新了 ...

  3. NHibernate统一类封装代码

    NHibernate已经成为.net主流的ORM框架,当然,在开发中如果需要使用NHibernate的话,我们一般会对她进行一次封装,以便在项目中使用更方便,以及对NHibernate有一个全局的控制 ...

  4. 密码加密md5和sha

    package cn.springmvc.util;import java.security.MessageDigest;import java.security.NoSuchAlgorithmExc ...

  5. [CCC 1996 01]Deficient, Perfect, and Abundant

    CCC加拿大高中生信息学奥赛 其余来源 CODEVS[3312]——CCC 1996 01 Deficient, Perfect, and Abundant ——http://codevs.cn/pr ...

  6. bzoj 3196 Tyvj 1730 二逼平衡树(线段树套名次树)

    3196: Tyvj 1730 二逼平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1807  Solved: 772[Submit][Stat ...

  7. Storm系列(三)Topology提交过程

    提交示例代码: 1  ); // 设置一个ack线程 9      conf.setDebug(true); // 设置打印所有发送的消息及系统消息 10      StormSubmitter.su ...

  8. 几乎每个文件里面都有 #ifdef __cplusplus extern "C" { #endif 可我没找到程序里那个地方定义了__cplusplus 啊?这又是怎么回事呢?

    我们的C语言有个进化版,叫C++,这个想必楼主知道,Keil MDK是支持C++编程的,也就是说,你可以用C语言或者C++写你的程序,都可以. 但是,有一个问题,就是头文件的问题,C语言写的头文件C+ ...

  9. hdu 3722 Card Game 二分图的最大权匹配

    题目可以转化为2个集合,x集合和y集合,其中的元素是1-n个字符串. 首先预处理点与点的边权,然后直接用二分图的最大权匹配模板. #include<stdio.h> #include< ...

  10. 要注意null合并运算符的优先级比+还要低

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:要注意null合并运算符的优先级比+还要低.