sql 和xml

Posted 于继海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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基础之XML

MyBatis之Mapper XML 文件详解-sql和入参

iOS)我应该在哪里复制和粘贴 facebook XML 片段?

xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException

需要示例代码片段帮助

sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便