• 将xml nodes 属性中的值 转为table 形式
  declare @xml2 xml
set @xml2 = '<CMADatas>
<CMAData CmaName="EventCfgItem" CmaValue="sap-abc1a01" />
<CMAData CmaName="EventNode" CmaValue="" />
<CMAData CmaName="EventSource" CmaValue="" />
<CMAData CmaName="EventType" CmaValue="" />
<CMAData CmaName="EventTypeInstance" CmaValue="" />
</CMADatas>'
select S.value('@CmaName', 'varchar(36)') as CmaName
, S.value('@CmaValue', 'varchar(36)') as CmaName
from @xml2.nodes('/CMADatas/CMAData') as T(S)
  • 将 xml tag标签的中值 转为 table 格式
DECLARE @xml xml='<mssql version="10.50.4000" name="Microsoft SQL Server Developer Edition (64-bit)">
<type name="Windows 7 Main Server">
<tag KeyValue="enabled">
<boolean>true</boolean>
</tag>
<tag KeyValue="disabled">
<tag method="Read">
<type name="Windows 8 virtual pc">
<tag KeyValue="uniqueKey">
<string>SQL Server 2008</string>
</tag>
<tag KeyValue="value 8GB">
<string>SQL Server 2000</string>
</tag>
</type>
</tag>
<tag method="Read">
<type name="Windows 8 virtual pc">
<tag KeyValue="primaryKey">
<string>SQL Server 2008 R2 SP1</string>
</tag>
<tag KeyValue="value 8GB">
<string>SQL Server 2005 SP3</string>
</tag>
</type>
</tag>
<tag method="Write">
<type name="Windows Server 2008 virtual pc">
<tag KeyValue="primaryKey">
<string>SQL Server 2008 R2 SP2</string>
</tag>
<tag KeyValue="value 10GB">
<string>SQL Server 2012</string>
</tag>
</type>
</tag>
</tag>
</type>
</mssql>'; SELECT b.c.value('@version', 'varchar(100)') [version]
,b.c.value('@name', 'varchar(200)') [Name]
,f.c.value('@name', 'varchar(200)') [ServerName]
,r.c.value('@KeyValue', 'varchar(50)') [KeyValue]
,r.c.value('(boolean)[1]', 'varchar(25)') [boolean]
,k.c.value('@method', 'varchar(25)') [method]
,k.c.value('@name', 'varchar(25)') [virtual_pc]
,y.c.value('@KeyValue', 'varchar(25)') [KeyValue]
,y.c.value('(string)[1]', 'varchar(25)') [string]
FROM @xml.nodes('mssql') b(c)
CROSS APPLY b.c.nodes('type') f(c)
CROSS APPLY f.c.nodes('tag') r(c)
CROSS APPLY f.c.nodes('tag/tag') k(c)
-- CROSS APPLY f.c.nodes('tag/tag/type') t(c)
CROSS APPLY f.c.nodes('tag/tag/type/tag') y(c);

SQL Convert XML to Table的更多相关文章

  1. SQL Server XML转Table

    前言 在SQL Server中有时候我们需要传人一个Table过去,然后可以在存储过程中批量更新,批量的获取相应数据. 但存储过程的参数是固定,所以这里我们可以变通的传人xml类型的参数,然后在存储过 ...

  2. Oracle使用Sql把XML解析成表(Table)的方法

    SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0&qu ...

  3. (轉載)sql server xml字段的操作

    原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...

  4. SQL SERVER XML 学习总结

    SQL  SERVER  XML  学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...

  5. sql for xml query sample

    sample 1: declare @x xml select @x='<ArrayOfScheduledTime> <ScheduledTime> <Recurrenc ...

  6. sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂)

    sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂) 測试环境:sql 08, 08 R2, 2010,  2012, 2014 等 declare @agent t ...

  7. My Sql 中要Alter Table的同学请注意!!!

    首先我建议你在对MySQL表做DDL操作时: 1 执行 show processlist 查看,要操作的表(数据库对象)是否处于锁状态 if("未锁定") { 执行DDL语句 }e ...

  8. Sql Server xml 类型字段的增删改查

    1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...

  9. discuz搬家后报错SQL:SELECT value FROM [Table]vars WHERE name=’noteexists1′的解决办法

    基本上每个站长都会经历网站搬家,网站搬家中有时候就会遇到这次提到的这个错误数据库报错::SQL:SELECT value FROM [Table]vars WHERE name=\\\'noteexi ...

随机推荐

  1. 04737_C++程序设计_第3章_函数和函数模板

    例3.1 传对象不会改变原来对象数据成员值的例子. #define _SCL_SECURE_NO_WARNINGS #include <iostream> #include <str ...

  2. Subsequence(暴力+二分)

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10875   Accepted: 4493 Desc ...

  3. SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案

    本文讲述 SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案. SharePoint中的讨论板列表是可以集成到Outlook里面去的 ...

  4. Jackson 框架,轻易转换JSON【转】

    Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在 ...

  5. 警告框和操作表(IOS开发)

    警告框(AlertView)时模态的,不关闭它就不能做其它事情,所以不是下面几种情况不应该随便使用. 1.应用不能继续执行. 如内存不足,没有网络.一般仅仅须要一个button. 2.询问还有一个解决 ...

  6. 你想不到的压缩方法:将javascript文件压缩成PNG图像存储

    这样可以做到很高的压缩比,到底有多高,下面会提到.这种方法用到了 canvas 控件,这也意味着只有支持 canvas 控件的浏览器下才有效. 现在你可以看到,上面的图像类似一个噪声图像,但它实际上是 ...

  7. Fedora 20忘记root密码

    1.忘记root密码的情况下.用sudo账户$sudo su就行了. 2.直接sudo passwd root就重置了roor密码了.

  8. HighlightingSystem插件使用(边缘发光)

    插件链接: http://pan.baidu.com/s/1dFwkaTr 密码: nw2c 导入Unity里面可能会报错,不过没关系,直接注释掉就可以了,我用的是Unity5.1的版本 可以看到如下 ...

  9. ES6笔记② 箭头函数

    特性介绍 箭头函数是ES6新增的特性之一,它为JS这门语言提供了一种全新的书写函数的语法. //ES5 function fun(x,y){ return x+y; } console.log(fun ...

  10. EJB QI查询

    EO.PNAME like ?1 OR  EO.PNAME like ?2";      Query query = entityManager.createNativeQuery(quer ...