以下我带大家了解关于 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. geoserver 安装 sql server 插件

    Did you download and install the sql server plugin as well?   http://downloads.sourceforge.net/proje ...

  2. [Stephen]C#中调用C++动态链接库

    1.主程序声明引用外部方法,并完成方法调用

  3. 常用的MAVEN公共私服

    flex-mojo http://repository.sonatype.org/content/groups/flexgroup flex相关 http://nexus.5amsolutions.c ...

  4. kafka在虚拟机环境的优化

    首先是,多磁盘的并发的问题.不管怎么说,虚拟机环境至少剥夺了单个kafka同时使用多个磁盘的优势.也就意味着,在同一个虚拟机,同一个topic,最好只有一partition:当然,不同topic之间p ...

  5. CodeForces 361B Levko and Permutation

    题意:有n个数,这些数的范围是[1,n],并且每个数都是不相同的.你需要构造一个排列,使得这个排列上的数与它所在位置的序号的最大公约数满足 > 1,并且这些数的个数恰好满足k个,输出这样的一个排 ...

  6. ssh -CT -o BatchMode=yes 用户名@主机名

  7. JavaScript Garden

    Objects Object Usage and Properties Everything in JavaScript acts like an object, with the only two ...

  8. jquery实时监听某个文本框的输入事件

    想给页面的的一个文本框添加监听事件 $(function(){ //页面加载完毕后触发事件 $("textarea[name='content']").bind('input pr ...

  9. DevExpress MessageBox 弹出框 底层类

    效果图: 前台调用: //图一的前台调用 MessageBox.Show("测试", "标题", MessageBoxButtons.OK); //图二的前台调 ...

  10. 递归小demo(1-100的和)

    public class demo1 { public static void main(String[] args) { //初始值为100 int n = 100; //调用number方法,返回 ...