sql-server – 使用SQL选择单个xml节点

前端之家收集整理的这篇文章主要介绍了sql-server – 使用SQL选择单个xml节点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个很大的 XML音符与许多节点.

有没有办法只能从较大的XML中选择一个节点及其所有内容

我正在使用sql 2005

@H_301_7@解决方法
如果您想要获得XML的一部分,您应该使用 query() Method.
declare @XML xml

set @XML = 
'
<root>
  <row1>
    <value>1</value>
  </row1>
  <row2>
    <value>2</value>
  </row2>
</root>
'

select @XML.query('/root/row2')

结果:

<row2>
  <value>2</value>
</row2>

如果你想要特定节点的值,你应该使用value() Method.

select @XML.value('(/root/row2/value)[1]','int')

结果:

2

更新:

如果你想将你的XML分割成多行,你可以使用nodes() Method.

得到价值观:

declare @XML xml

set @XML = 
'
<root>
  <row>
    <value>1</value>
  </row>
  <row>
    <value>2</value>
  </row>
</root>
'

select T.N.value('value[1]','int')
from @XML.nodes('/root/row') as T(N)

结果:

(No column name)
1
2

获取整个XML:

select T.N.query('.')
from @XML.nodes('/root/row') as T(N)

结果:

(No column name)
<row><value>1</value></row>
<row><value>2</value></row>
原文链接:https://www.f2er.com/mssql/75507.html

猜你在找的MsSQL相关文章