SQL Convert XML to Table
- 将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的更多相关文章
- SQL Server XML转Table
前言 在SQL Server中有时候我们需要传人一个Table过去,然后可以在存储过程中批量更新,批量的获取相应数据. 但存储过程的参数是固定,所以这里我们可以变通的传人xml类型的参数,然后在存储过 ...
- Oracle使用Sql把XML解析成表(Table)的方法
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0&qu ...
- (轉載)sql server xml字段的操作
原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...
- SQL SERVER XML 学习总结
SQL SERVER XML 学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...
- sql for xml query sample
sample 1: declare @x xml select @x='<ArrayOfScheduledTime> <ScheduledTime> <Recurrenc ...
- sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂)
sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂) 測试环境:sql 08, 08 R2, 2010, 2012, 2014 等 declare @agent t ...
- My Sql 中要Alter Table的同学请注意!!!
首先我建议你在对MySQL表做DDL操作时: 1 执行 show processlist 查看,要操作的表(数据库对象)是否处于锁状态 if("未锁定") { 执行DDL语句 }e ...
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- discuz搬家后报错SQL:SELECT value FROM [Table]vars WHERE name=’noteexists1′的解决办法
基本上每个站长都会经历网站搬家,网站搬家中有时候就会遇到这次提到的这个错误数据库报错::SQL:SELECT value FROM [Table]vars WHERE name=\\\'noteexi ...
随机推荐
- POI开源项目-PPT2PNG转换测试
第一次学使用软件去读取Office类文件. 今天百度了一下,发现Apache也是有这样的开源项目的,POI提供下列支持: 测试了一下HSLF对PPT的读操作,并将PPT转化为图片保存到指定目录: 使用 ...
- Python实现Hadoop MapReduce程序
1.概述 Hadoop Streaming提供了一个便于进行MapReduce编程的工具包,使用它可以基于一些可执行命令.脚本语言或其他编程语言来实现Mapper和 Reducer,从而充分利用Had ...
- Eclipse快捷键大全(一)
Eclipse快捷键大全(一) 常用(系统默认): 1.Format (自动排版) : Ctrl+Shift+F 2.Organize Imports (自动导入) : Ctrl+Shift+O 3. ...
- 兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK
错误原因: Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了. 解决的方法:intent.addFlags(Inte ...
- 使用win8时删除自带的输入法的好方法
无直接把那个语言都删了,再直接装输入法就行了.
- SqlServer2008 数据库可疑
今天遇到数据库可疑,以前都是直接删了还原,这次没有最新的备份文件,一起看看脚本怎么解决 --最好一句句执行,方便看到错误 USE MASTER GO --开启数据库选项"允许更新" ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- 解读机器学习基础概念:VC维的来龙去脉 | 数盟
http://dataunion.org/14581.html
- HTML meta refresh 刷新与跳转(重定向)页面
<meta http-equiv="refresh" content="5; url=http://www.cnblogs.com/" /> 可用于 ...
- Java定时器:Timer
项目中往往会遇到需要定时的任务,例如订单,当用户在某个规定时间内没有操作订单时,订单状态将会发生改变. 那么在这种情况下,我们会用到定时器. 举例: import java.util.Timer; / ...