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 ...
随机推荐
- poj2924---高斯求和
#include <stdio.h> #include <stdlib.h> int main() { ; long long ans,a,b; scanf("%d& ...
- req.xhr在express中的应用
req.xhr判断请求来自ajax还是普通请求: 若为ajax则是为true 这个属性是通过判断headers中的 x-requested-with的值来判断的 下面是来自ajax的请求: 1 hos ...
- iOS7.0中UILabel高度调整注意事项(转)
注释:原文链接丢失. 我的“记词助手”在升级到iOS7之后,一直出现UILabel错位的问题: 我的label是用- (CGSize)sizeWithFont:(UIFont *)font const ...
- Entityframework 伪CodeFirst开发模式应用于Sqlite数据库
因为最近没有时间深入的研究EntityFramework的内部机制,所以具体的实现并不十分了解.微软最初的初衷是开发出一套通用的数据库访问逻辑,实现对Dal数据访问层的高度封装,其中就用到了工厂模式和 ...
- this.parentMenu.dataRecord.data.testID的作用
在JS里,有个this.parentMenu.dataRecord.data.XXID的方法,这个方法一般都是用来加载某个控件到一个面板或控件上的.如: loaddata(this.parentMen ...
- iOS调用系统声音与振动
如何调用系统声音?[iphone 调用系统铃声与震动功能] 首先要在工程里加入Audio Toolbox framework这个库,然后在需要调用的文件里#import <AudioToolbo ...
- QF——OC中的SEL类型和Block
@selector(): 可以理解@selector()就是取类方法的编号,他的基本行为类似于C语言中的函数指针(指向函数的指针).它们通过传递方法的地址(或编号)来实现把方法当做参数的效果. 不过在 ...
- OC语法4——自定义构造方法,description方法
自定义构造方法: 我们已经知道创建对象分两步,1:在内存中开辟存储空间,并把地址存储在指针变量里,2:调用指针变量的初始化方法init初始化该对象. Student * stu = [Student ...
- [分 享] PHPCMS V9 更换域名,附件地址无法批更新(更换变便)问题>解决方法!!
大家应该都有在域名更换(比如说,从本地上传到空间)的情况下,用内容>附件管理>附件地址替换 功能. 基本上替换不了所有表中原来域名的地址. 现PHPCMS V9最新版本的依旧存在些问题. ...
- listview 点击条目 自动置顶或者自动置底部
关于Listview点击条目,自动滑动到点击条目实现: map_searchresult_list.post(new Runnable() { @Override public void run() ...