質問

SQL Server 2008データベースにXML列があります。私のテーブルの各行のXMLサンプル

<document>
 <part1>
   <listitem>val1</listitem>
   <listitem>val2</listitem>
   <listitem>val3</listitem>
 </part1>
 <part2>
   <listitem>val4</listitem>
 </part2>
</document>

すべての行からすべての要素を選択したいと思います。上記のサンプルから、listitem値の4行を取得する必要があります。

答えはです

select x.nd.value ('(.)[1]', 'varchar(250)') as ValuesFromXml
from TableWithXmlColumn t cross apply t.XmlContent.nodes (
'//listitem') x(nd);

手伝ってくれてありがとう

役に立ちましたか?

解決

あなたはこのようにそれをすることができます:

select Col.value('.', 'varchar(20)') 
from yourtable 
cross apply XmlColumn.nodes('//listitem') as NewTable(Col)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top