以下我带大家了解关于 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. 找出Java进程中大量消耗CPU

    原文:https://github.com/oldratlee/useful-shells useful-shells 把平时有用的手动操作做成脚本,这样可以便捷的使用. show-busy-java ...

  2. 卸载安装失败的sqlserver2008 R2

    安装sqlserver2008失败,无法正常卸载. 从  计算机  控制面板 卸载时有如图弹窗 并且在  控制面板  中找不到如图的各种插件. 百般无奈之后,发现下载安装windows install ...

  3. C# Dynamic特性

    C# 4.0 dynamic:声明动态对象 dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性.这是C#4.0 添加的特性.官方解释:dynamic类型是帮助我们绕过编译 ...

  4. HDU 2509

    与HDU 1907一样... #include<cstdio> #include<cstring> #include<cstdlib> #include<io ...

  5. Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络

    1: 安装windows server 2008 R2 中文版 (过程略) 安装完成后设置机器名和IP地址, 本过程机器名 crm5dev,192.168.0.110 dns: 192.168.0.1 ...

  6. autoSvn

    #!/bin/bash    dir="/svndata" name="puppet" user="test" passwd="t ...

  7. Centos环境下Tomcat启动缓慢

    最近项目上线部署的时候,发现一个问题.Tomcat在启动过程中耗费了很长的时间.查看日志,发现耗时最长的地方是:INFO [localhost-startStop-1] org.apache.cata ...

  8. mysql 不支持innodb的问题解决

    在新的机器上安装了mysql后,发现里面新创建的数据表的存储引擎都是myisam,于是 执行下面语句,把mysiam改为innodb. alter table tbl_test engine=inno ...

  9. servlet三大作用域:request,session,application

    javaweb开发中Servlet三大域对象的应用(request.session.application(ServletContext)). 1. request request是表示一个请求,只要 ...

  10. javascript Deferred和递归次数限制

    function runAsyncTTS(text,speecher,audiopath) { var def = jQuery.Deferred(); var args = {"Synth ...