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 ...
随机推荐
- 「七天自制PHP框架」第一天:路由与控制器
我们为什么要使用路由? 原因1:一个更漂亮的URI 1.URI的改进 刚刚开始学PHP时,我们一定写过blog.php?id=1之类的URI,使用GET方式获取参数.这样的URI有两个缺点,一是容易被 ...
- GridControl详解(三)列数据的格式设置
为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串.代码增加下列部分: //格式增加 dt.Columns.Add("数据",typeof(decimal)); dt.C ...
- 2017ACM暑期多校联合训练 - Team 2 1009 HDU 60563 TrickGCD (容斥公式)
题目链接 Problem Description You are given an array A , and Zhu wants to know there are how many differe ...
- react CRA antd 按需加载配置 lessloader
webpack配置 webpack.config.dev.js, webpack.config.prod同理. 'use strict'; const autoprefixer = require(' ...
- win10环境变量
jdk8 JAVA_HOME D:\devsoft\jdk\jdk1.8 CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar pa ...
- layui利用jQuery设置下拉列表的值
今天在利用jQuery动态设置下拉列表的值的时候确怎么也赋值不上去,其中用到了layui框架,源代码如下: $.post(contextPath+'/courseLibrary/getCourseBa ...
- Xcode 9安装
Xcode 9 Xcode 9 Compatibility Xcode 9 requires a Mac running macOS 10.13.2 or later. Xcode 9 include ...
- javaScript如何跳出多重循环break、continue
先来说说break和continue之间的区别 for(var i=0;i<10;i++){ if(i>5){ break; }}console.log(i); ---6 •当i ...
- ECharts图表tooltip显示时超出canvas图层解决方法
我们在做ECharts图表的时候可能会遇到tooltip显示时超出了canvas图层范围,并且被其它z-index较高的div容器遮盖,这是悬浮展示信息就看不全,我们根据官网文档的配置项查询发现con ...
- 1、CentOS 6 安装GitLab
1.安装和配置必需的依赖项 在CentOS上将系统防火墙打开HTTP和SSH访问. sudo yum install -y curl policycoreutils-python openssh-se ...