2
<value1> 

<name> 
<account id="4567890" firstname="abc"> 
</account> 
</name> 

</value1> 

我需要拿出ID帳戶標籤在XML如何從XML列獲取列值表

SELECT 
     T.id 
    , T.request_xml.value(
      '(Value1/name/account/id)[1]', 
      'varchar(50)' 
     ) AS id 
FROM [table] AS T 

回答

1

嘗試使用@ -

DECLARE @XML XML 
SELECT @XML = ' 
<value1> 
<name> 
<account id="4567890" firstname="abc"> 
</account> 
</name> 
</value1>' 

SELECT id = @XML.value('(value1/name/account/@id)[1]', 'VARCHAR(50)') 

您的查詢 -

SELECT 
     T.id 
    , T.request_xml.value(
      '(Value1/name/account/@id)[1]', --<-- @ 
      'varchar(50)' 
     ) AS id 
FROM [table] AS T 
+0

沒有聲明變量我想從表中選擇id作爲列從xml中提取什麼d o因爲.. –

+0

感謝.. –

+0

不客氣@Rameez Javed :) – Devart