• 将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. exit函数的妙用

    写了一个程序,用来推断一个文件是否存在: #include<stdio.h> main() {  FILE *fp;  fp = fopen ("/home/wang/my/ct ...

  2. 【Problem】Count and Say

    问题分析 题目理解:给定一个整数,如果相邻的几个数位数字是相同的,则输出重复出现的次数加上该数字本身:继续向后查找直到所有的数位处理完. 按照上述思路,则: input output 1 11 11 ...

  3. AngularJS初始用之 中间件 connect .static 静态文件不能找到

    学习心得,软件更新太快,学习不能照书本. 在学习搭建Nodejs服务器时,掉坑了啦,太坑了,对于什么都不知道的初学者,开门就是坑...,怎么坚持学下去... 还好,现在的世界很大,如果你发现自己不是犯 ...

  4. TCP慢启动算法

    慢启动定义 慢启动,是传输控制协议使用的一种阻塞控制机制.慢启动也叫做指数增长期.慢启动是指每次TCP接收窗口收到确认时都会增长.增加的大小就是已确认段的数目.这种情况一直保持到要么没有收到一些段,要 ...

  5. input模糊搜索功能

    <!doctype html> <meta charset="utf-8"> <style type="text/css"> ...

  6. Struts 2.x 与Spring4.x整合出现:No mapping found for dependency [type=java.lang.String, name='actionPackages...

    Struts2.16与Spring4.x整合出错: Caused by: java.lang.RuntimeException: com.opensymphony.xwork2.inject.Depe ...

  7. Android 调用系统通讯录

    这个过程有三步:1)许可向你的应用程序的manifest中添加读取通讯录数据的许可  <uses-permission android:name="android.permission ...

  8. cursor的形状

    Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a> Exam ...

  9. cookie记录用户的浏览商品的路径

    在电子商务的网站中,经常要记录用户的浏览路径,以判断用户到底对哪些商品感兴趣,或者哪些商品之间存在关联. 下面将使用cookie记录用户的浏览过的历史页面.该网站将每个页面的标题保存在该页面的$TIT ...

  10. boa,thttp服务器安装,配置,测试

    boa 1, SERVER_ROOT自定义,define.h头文件中,默认“/etc/boa" 2,./configure 3,修改CC,默认CC=gcc,make 4,error util ...