【问题标题】:how to get column value from xml column in table如何从表中的xml列中获取列值
【发布时间】:2013-07-29 10:43:34
【问题描述】:
<value1>

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

</value1>

我需要在xml的account标签中取出id

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

【问题讨论】:

    标签: sql sql-server sql-server-2008 xml-parsing sql-server-2008-r2


    【解决方案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
    

    【讨论】:

    • 没有声明变量,我想从表 id 中选择作为从 xml 中提取的列为此做什么..
    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    相关资源
    最近更新 更多