使用SQL提取XML数据

问题描述 投票:0回答:1

在我的示例中,我希望能够使用Oracle为名为“ Arshad Ali”的客户从XML类型提取特定数据。

这是我插入的xml数据:

  <Customers>
    <Customer CustomerName="Arshad Ali" CustomerID="C001">
      <Orders>
        <Order OrderDate="2012-07-04T00:00:00" OrderID="10248">
          <OrderDetail Quantity="5" ProductID="10" />
          <OrderDetail Quantity="12" ProductID="11" />
          <OrderDetail Quantity="10" ProductID="42" />
        </Order>
      </Orders>
      <Address> Address line 1, 2, 3</Address>
    </Customer>
    <Customer CustomerName="Paul Henriot" CustomerID="C002">
      <Orders>
        <Order OrderDate="2011-07-04T00:00:00" OrderID="10245">
          <OrderDetail Quantity="12" ProductID="11" />
          <OrderDetail Quantity="10" ProductID="42" />
        </Order>
      </Orders>
      <Address> Address line 5, 6, 7</Address>
    </Customer>
    <Customer CustomerName="Carlos Gonzlez" CustomerID="C003">
      <Orders>
        <Order OrderDate="2012-08-16T00:00:00" OrderID="10283">
          <OrderDetail Quantity="3" ProductID="72" />
        </Order>
      </Orders>
      <Address> Address line 1, 4, 5</Address>
    </Customer>
  </Customers>
</ROOT>

using get clob我能够提取所有客户。

[想知道是否有人可以帮助我为特定客户提取数据。尝试使用以下方法,但未成功

SELECT extract(OBJECT_VALUE, '/root/Customers') "customer"
  FROM mytable2
  WHERE existsNode(OBJECT_VALUE, '/customers[CustomerName="Arshad Ali" CustomerID="C001"]')
        = 1;  

我希望在示例中使用Oracle为名为“ Arshad Ali”的客户从XML类型提取特定数据,这是我插入的xml数据:<...>[

sql xml oracle oracle12c xmltype
1个回答
1
投票

XML节点的大小写和确切名称很重要:

© www.soinside.com 2019 - 2024. All rights reserved.