以下我带大家了解关于 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. Codeforces 302D

    思路:最短路,map[i][j] = d*(|x[i]-x[j]| + |y[i]-y[j]|) - add[i] #include<iostream> #include<cstdi ...

  2. 使用页面对象模型(pageFactory)

    页面对象模型可以使测试脚本有更高癿可维护性,减少了重复癿代码,把页面抽象出来. 页面对象设计模式提供了测试一个接口,测试可以像用户行为一样来操作页面. 通过隐藏页面元素定位,返有劣将测试代码和页面分离 ...

  3. Laravel Quickstart

    Installation Via Laravel Installer First, download the Laravel installer using Composer. composer gl ...

  4. hdoj 2955 Robberies

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  5. SQLite数据库如何存储和读取二进制数据

    SQLite数据库如何存储和读取二进制数据 1. 存储二进制数据 SQLite提供的绑定二进制参数接口函数为: int sqlite3_bind_blob(sqlite3_stmt*, int, co ...

  6. C++ ComboBox基础

    关键点 实现过程 //添加 //添加字符串 m_cbo1.AddString("AAA"); m_cbo1.AddString("BBB"); m_cbo1.A ...

  7. linux ssh 中在window 传文件 下载文件 工具

    centos 安装工具 yum install lrzsz

  8. 【Linq递归查找系列】

    Linq递归查找: public IEnumerable<MenuInfo> GetTree(int id, IEnumerable<MenuInfo> lst) { var ...

  9. Java中字符流与字节流的区别

    字符流处理的单元为2个字节的Unicode字符,分别操作字符.字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组.所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单 ...

  10. 配置servers时,错误:Setting property 'source' to 'org.eclipse.jst.jee.server:hczm' did not find a matching property

    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.e ...