【问题标题】:Get the parent xml node based on an inner node's value in SQL Server根据 SQL Server 中内部节点的值获取父 xml 节点
【发布时间】:2023-03-09 16:59:01
【问题描述】:
declare @xmlVal xml
set @xmlVal = 
'<user>
    <token><id>ABC123</id><endDate>2013-06-16 18:48:50.111</endDate></token>
    <token><id>XYX456</id><endDate>2014-01-01 18:48:50.111</endDate></token>
</user>'

我需要整个令牌节点为 xml,其中 id=ABC123 所以输出将是:

<token>
    <id>ABC123</id>
    <endDate>2013-06-16 18:48:50.111</endDate>
</token>

【问题讨论】:

    标签: sql sql-server xpath xquery-sql


    【解决方案1】:
    select @xmlVal.query('/user/token[id="ABC123"]')
    

    【讨论】:

      【解决方案2】:
      SELECT  
      a.b.value('id[1]','nvarchar(max)') id,
      a.b.value('endDate[1]','datetime') endDate
       FROM    @xmlval.nodes('//user/token[id="ABC123"]') a(b)
       FOR XML PATH('token')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-01
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多