1

これは、テーブル列の xml のサンプルです。

テーブル名t005、列名ACTIVITYDETAIL、データ型xml

xmlのサンプル

<root> 
   <Parameter> 
      <Param>SearcgBy</Param> 
      <Value>ALL</Value> 
   </Parameter>         
   <Parameter> 
      <Param>SearchText</Param> 
      <Value>SA</Value> 
   </Parameter>    
</root>

今、私は次のように出力したい

Param                value
SearchBy               ALL
SearchText             SA

私は非常に多くの方法を試しましたが、これが私の最後の試みです。

SELECT 
    p.value('(./Parameter/node())[1]', 'VARCHAR(8000)') as firstName,
    p.value('(./Parameter/node())[2]', 'VARCHAR(8000)') as lastName
FROM 
    t005 
CROSS APPLY 
    ACTIVITYDETAIL.nodes('/root') t(p)

私を助けてください。

4

1 に答える 1

3

これを試して

 SELECT 
      t.p.value('Param[1]','varchar(20)') as Param,
      t.p.value('Value[1]','varchar(20)') as Value
 FROM T005 CROSS APPLY ACTIVITYDETAIL.nodes('/root/Parameter') t(p)
于 2013-10-20T12:34:43.553 に答える