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