将一个XML文本显示成行
来源:互联网 发布:网络隐私权保护 编辑:程序博客网 时间:2024/05/17 04:10
------------------------------------------------------------------
DECLARE @doc xml;
SET @doc='<biglottos> <N1>1 </N1> <N2>2 </N2> <N3>4 </N3> </biglottos>'
SELECT
A.x.query('N1').value('.','int')N1 ,
A.x.query('N2').value('.','int')N2 ,
A.x.query('N3').value('.','int')N3
FROM @doc.nodes('/biglottos') AS A(x)
/*
N1 N2 N3
----------- ----------- -----------
1 2 4
(1 行受影响)
*/
declare @xml xml
set @xml='
<Person>
<Node>
<Name>admin</Name>
<Date>2010-4-6</Date>
</Node>
<Node>
<Name>lisi</Name>
<Date>2010-4-6</Date>
</Node>
<Node>
<Name>wangwu</Name>
<Date>2010-4-7</Date>
</Node>
</Person>'
SELECT
A.x.query('Name').value('.','varchar(10)') Name ,
A.x.query('Date').value('.','datetime') Date
FROM @xml.nodes('//Node') AS A(x)
SELECT
x.value('Name[1]','varchar(10)') Name ,
x.value('Date[1]','datetime') Date
FROM @xml.nodes('//Node') AS A(x)
/*
Name Date
---------- -----------------------
admin 2010-04-06 00:00:00.000
lisi 2010-04-06 00:00:00.000
wangwu 2010-04-07 00:00:00.000
(3 行受影响)
*/
declare @xml xml
set @xml='
<Person>
<Node>
<Name>admin</Name>
<Date>2010-4-6</Date>
</Node>
<Node>
<Name>lisi</Name>
<Date>2010-4-6</Date>
</Node>
<Node>
<Name>wangwu</Name>
<Date>2010-4-7</Date>
</Node>
</Person>'
SELECT
A.x.value('(Node/Name)[1]','varchar(10)') Name1,
A.x.value('(Node/Name)[2]','varchar(10)') Name2,
A.x.value('(Node/Name)[3]','varchar(10)') Name3
FROM @xml.nodes('Person') AS A(x)
/*
Name1 Name2 Name3
---------- ---------- ----------
admin lisi wangwu
(1 行受影响)
*/
-------------------------------------------------------------------
想写一个存储过程,将一个XML文本作为参数输入
XML如:
<?xml version="1.0" encoding="utf-8" ?>
<abcs>
<abc QueryName="LatestExchange">
<QueryColumns>
<Columna>FromCurrency </Columna>
<Columna>ToCurrency </Columna>
<Columna>Date </Columna>
<Columna>Value </Columna>
<Columna>OpenPrice </Columna>
<Columna>HighPrice </Columna>
<Columna>LowPrice </Columna>
<Columna>ClosePrice </Columna>
<Columna>Volume </Columna>
<Columna>OpenInterest </Columna>
<Columna>LastUpdate </Columna>
</QueryColumns>
<QueryParameters>
<Parameter Name="Date"> </Parameter>
</QueryParameters>
</abc>
</abcs>
---------------------------------------
问如何查询,才能得到以下结果
Columna
-----------
ToCurrency
Date
Value
OpenPrice
HighPrice
LowPrice
ClosePrice
Volume
OpenInterest
LastUpdate
-->小梁
DECLARE @doc xml;
SET @doc='<?xml version="1.0" encoding="utf-8" ?>
<abcs>
<abc QueryName="LatestExchange">
<QueryColumns>
<Columna>FromCurrency </Columna>
<Columna>ToCurrency </Columna>
<Columna>Date </Columna>
<Columna>Value </Columna>
<Columna>OpenPrice </Columna>
<Columna>HighPrice </Columna>
<Columna>LowPrice </Columna>
<Columna>ClosePrice </Columna>
<Columna>Volume </Columna>
<Columna>OpenInterest </Columna>
<Columna>LastUpdate </Columna>
</QueryColumns>
<QueryParameters>
<Parameter Name="Date" />
</QueryParameters>
</abc>
</abcs>'
SELECT
A.x.value('.','varchar(20)')
FROM @doc.nodes('/abcs/abc/QueryColumns/*[position()>1]') AS A(x);
/*
--------------------
ToCurrency
Date
Value
OpenPrice
HighPrice
LowPrice
ClosePrice
Volume
OpenInterest
LastUpdate
(10 行受影响)
*/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2009/04/01/4040080.aspx
- 将一个XML文本显示成行
- 将一个XML文本显示成行
- 将一个XML文本显示成行
- sql查询语句(将一个表的列变成行显示)
- Oracle将列转换成行
- 交换数据学习一:将xml文本读取到DataSet并显示
- ms sql 将列转换成行
- 将二维数组转换成行向量
- sql 把列变成行显示
- 今天临时完成的一个将文本格式的文件,转变成XML文件的代码
- 将非文本信息存入xml
- 怎么将html标签当做文本显示?
- css将多余文本以省略号显示
- 简单的将一个html(xml)文本中的img标签(图片)提取出来的方法
- 新建一个能显示文本的窗体
- 一个在线显示doc文本的实例
- 一个TextView显示多种文本样式
- 一个TextView 显示多种样式的文本
- SQL2005 行列转换(巩固篇)
- sql xml 入门
- DDL触发器捕获建表语句
- 解决QTP在某些windows应用程序中对edit控件的set失败问题
- 寻找安静的心
- 将一个XML文本显示成行
- ASP.NET编程全能词典简介
- 全文检索学习
- 在库TEST上建立全文索引
- 全文索引创建实例
- 数字转IP地址自定义函数(附:相互转换)
- 义工
- SQL2005 des加密算法存储过程
- 算法(根据提供的某数值,找出与其最接近的一组数据)