sql 和xml
一·常用基本功能
表结果:
1.

1 <row>
2 <ID>1035</ID>
3 <Rate>6.12</Rate>
4 <Date>2013-11-28</Date>
5 <Remark>正常</Remark>
6 </row>
7 <row>
8 <ID>1036</ID>
9 <Rate>6.15</Rate>
10 <Date>2013-11-28</Date>
11 <Remark>正常</Remark>
12 </row>

1 SELECT *
2 FROM dbo.T_H_ExchangeRate
3 FOR XML PATH
2.

1 <ID>1035</ID>
2 <Rate>6.12</Rate>
3 <Date>2013-11-28</Date>
4 <Remark>正常</Remark>
5 <ID>1036</ID>
6 <Rate>6.15</Rate>
7 <Date>2013-11-28</Date>
8 <Remark>正常</Remark>

1 SELECT *
2 FROM dbo.T_H_ExchangeRate
3 FOR XML PATH('')
3.

<SUN>
<ID>1035</ID>
<Rate>6.12</Rate>
<Date>2013-11-28</Date>
<Remark>正常</Remark>
</SUN>
<SUN>
<ID>1036</ID>
<Rate>6.15</Rate>
<Date>2013-11-28</Date>
<Remark>正常</Remark>
</SUN>

SELECT *
FROM dbo.T_H_ExchangeRate
FOR XML PATH('SUN')
4.

<汉语>
<序号>1035</序号>
<汇率>6.12</汇率>
<日期>2013-11-28</日期>
<标记>正常</标记>
</汉语>
<汉语>
<序号>1036</序号>
<汇率>6.15</汇率>
<日期>2013-11-28</日期>
<标记>正常</标记>
</汉语>


SELECT ID AS '序号',
Rate AS '汇率',
Date AS '日期',
Remark AS '标记'
FROM dbo.T_H_ExchangeRate
FOR XML PATH('汉语')

5.

--生成带顶层节点
<Table>
<Row>
<ID>1035</ID>
<Rate>6.12</Rate>
<Date>2013-11-28</Date>
<Remark>正常</Remark>
</Row>
<Row>
<ID>1036</ID>
<Rate>6.15</Rate>
<Date>2013-11-28</Date>
<Remark>正常</Remark>
</Row>
</Table>

SELECT *
FROM dbo.T_H_ExchangeRate
FOR XML PATH('Row'),ROOT('Table')

--还原成DataTable的形式,查找节点
SELECT T.x.value('(ID)[1]','nvarchar(50)') AS ID,
T.x.value('(Rate)[1]','nvarchar(50)') AS Rate,
T.x.value('(Date)[1]','nvarchar(50)') AS Date,
T.x.value('(Remark)[1]','nvarchar(50)') AS Remark
FROM @xmlStr.nodes('/Table/Row') T(x)

6.
[正常],[正常],
SELECT '['+Remark+'],'
FROM dbo.T_H_ExchangeRate
FOR XML PATH('')
7.
数据源:

查询结果:

--源代码
SELECT C.O_USER, LEFT(C.Operate,LEN(Operate)-1) Operate
FROM (
SELECT A.O_USER,
(
SELECT B.O_TYPE+','
FROM dbo.T_UP_Olog AS B
WHERE B.O_USER = A.O_USER
FOR XML PATH('')
) Operate
FROM dbo.T_UP_Olog A
GROUP BY A.O_USER
)AS C

sql 和xml的更多相关文章
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- SQL SERVER XML 学习总结
SQL SERVER XML 学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...
- 转载---SQL Server XML基础学习之<5>--XQuery(query)
本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...
- sql分组合并字段重复项sql for xml path
-------------------------(情景描述) 在我们处理数据时,可能会碰到这种情景: Id Name 1 a,b 2 ...
- SQL Server XML数据解析
--5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <In ...
- SQL Server XML 查询
[参考1] 18个小实例入门SQLServer XML查询 [参考2] 转载---SQL Server XML基础学习之<5>--XQuery(query)
- Oracle使用Sql把XML解析成表(Table)的方法
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0&qu ...
- sql for xml path 处理
1.将下列结果集 做成 aa 语文,数学 bb 英语,语文 这种格式 使用 for xml path 记得去重复 WITH cte AS(SELECT stu.studentname,c ...
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂)
sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂) 測试环境:sql 08, 08 R2, 2010, 2012, 2014 等 declare @agent t ...
随机推荐
- 816C. Karen and Game 贪心
LINK 题意:给出n*m的矩阵图,现有对行或对列上的数减1的操作,问最少几步使所有数变为0,无解输出-1 思路:贪心暴力即可.先操作行和先操作列结果可能不同注意比较. /** @Date : 201 ...
- js关闭当前页面跳转新页面
页面代码: <p class="info"><span style="font-weight: bold">所属项目:</span ...
- POJ 3233 Matrix Power Series (矩阵快速幂)
题目链接 Description Given a n × n matrix A and a positive integer k, find the sum S = A + A^2 + A^3 + - ...
- HDU 1214 圆桌会议 (找规律)
题目链接 Problem Description HDU ACM集训队的队员在暑假集训时经常要讨论自己在做题中遇到的问题.每当面临自己解决不了的问题时,他们就会围坐在一张圆形的桌子旁进行交流,经过大家 ...
- virtualenv搭建虚拟环境
最近因为项目需要,要在CentOS 7 上搭建一套开发环境,虽说Python的背后有着庞大的开源社区支持,但是有一个缺点就是每个包的质量都参差不齐,如果我们在工作服务器上去测试安装每个包,就会造成整个 ...
- Perl6多线程1 Thread : new / run
先看一个小例子: ) { #默认参数 say $name; } sub B(:name($name)) { #默认参数为 any say $name; } A(); A(); B(); B(name ...
- Msql中的触发器
解发器 当执行某种操作时解发的行为. 比如, 当表变动时触发的动作. 像商城订单, 当下单时, 库存减少. 语法: create trigger trigger_name after/befor in ...
- django【ORM】model字段类型
1.AutoField 一个自增的IntegerField,一般不直接使用,Django会自动给每张表添加一个自增的primary key. 2.BigIntegerField 64位整数, -922 ...
- linux下C语言实现的哈希链表【转】
转自:http://blog.chinaunix.net/uid-28458801-id-4276934.html 操作系统:ubuntu10.04 前言: 在稍微大点的项目中,基本都会遇到算 ...
- koa中间层 文件下载的请求转发
背景: 前端用a标签发起下载文档的get请求 node中间层接到get请求后将请求转发到java后端 java后端返回文档流传递给node中间层 好处: 后端的java业务逻辑层接口.数据库不向外部暴 ...