2013-10-20 36 views
1

這是我的表列中xml的示例;sql提取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) 

請幫幫我。

回答

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) 
+0

願真主保佑你的兄弟。 thanks.this按要求運作。 –