首页 > 数据库技术 > 详细

sql 和xml

时间:2017-08-19 21:57:47      阅读:296      评论:0      收藏:0      [点我收藏+]

一·常用基本功能

表结果:技术分享

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

原文:http://www.cnblogs.com/yujihaia/p/7397949.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!