sql >> Databasteknik >  >> RDS >> Oracle

Hämta XML-element från XMLType Oracle

Du kan använda kombinationen av existsNode och extract fungerar enligt följande.

SELECT b.SOFT_ATTRIBUTES,
  CASE
    WHEN existsNode (a.soft_attributes ,'/*/'
      ||b.SOFT_ATTRIBUTES) = 1
    THEN a.soft_attributes.extract('/*/'
      ||b.SOFT_ATTRIBUTES
      ||'/text()').getStringVal()
  END value
FROM xml_analysis a,
  xml_softattributes b
WHERE a.id = b.id;

* används som jokertecken för att matcha valfri underordnad nod. Till exempel matchar /PO/*/STREET alla gatuelement som är barnbarn till PO-elementet.

Utdata:

attr1   ABC
attr2   XYZ
attr3   PQR


  1. PDO Infoga fel vid exekvering

  2. Vad är skillnaden mellan kommaseparerade joins och join on syntax i MySQL?

  3. Hur man grupperar efter user_id och beställer efter besk

  4. Två kolumner som primärnycklar i mysql?