有一个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>
实现
Name:admin ListName:wangu
怎么写sql 语句 谢谢各位大虾 给个实用的链接也可以
<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>
实现
Name:admin ListName:wangu
怎么写sql 语句 谢谢各位大虾 给个实用的链接也可以
http://topic.csdn.net/u/20081107/17/68aaf5a9-c596-4ab5-ae18-f3370b2ab35b.html
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 *
FROM(
SELECT
A.x.query('Name').value('.','varchar(10)') Name ,
A.x.query('Date').value('.','datetime') Date
FROM @xml.nodes('/Person/Node') AS A(x))a/*
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 行受影响)
*/
SELECT
C.value('Name[1]','varchar(20)'),
C.value('Date[1]','datetime')
FROM @xml.nodes('//Node') AS T(C)
-------------------- -----------------------
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)') 录入人 ,
A.x.value('(Node/Name)[last()]','varchar(10)') 最后修改人
FROM @xml.nodes('Person') AS A(x)
/*
录入人 最后修改人
---------- ----------
admin wangwu(1 行受影响)
*/