【问题标题】:xquery in sql server 2008sql server 2008 中的 xquery
【发布时间】:2011-10-20 19:24:52
【问题描述】:

从文档中获取最大属性值的最佳 xquery 方法是什么。例如

    <organizations>
       <organization id="1"/>
       <organization id="6"/>
       <organization id="11"/>
    </organizations>

我希望查询返回 11。

谢谢

【问题讨论】:

    标签: sql-server-2008 xquery-sql


    【解决方案1】:
    declare @xml xml = '
    <organizations>
      <organization id="1"/>
      <organization id="6"/>
      <organization id="11"/>
    </organizations>'
    
    select @xml.value('max(/organizations/organization/@id)', 'int')
    

    【讨论】:

      【解决方案2】:

      试试这个:

      DECLARE @input XML = '<organizations>
             <organization id="1"/>
             <organization id="6"/>
             <organization id="11"/>
          </organizations>'
      
      
      SELECT
          MAX(org.value('(@id)[1]', 'int'))
      FROM
          @input.nodes('/organizations/organization') AS Orgs(Org)
      

      您需要使用.nodes() 获取所有可能值的列表,然后将MAX() 应用于该整数值列表。

      【讨论】:

        【解决方案3】:

        您要查找的 XQuery sn-p 是 max(/organizations/organization/@id)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多