J'ai besoin de convertir des données XML en une paire de champs / de valeur mais ma requête pour la valeur renvoie NULLS
J'ai un Voici un échantillon des données XML: p> J'essaie d'obtenir le montant posté renvoyé dans ma requête. p> La requête fonctionne sans erreur mais tout ce que je récupère, c'est XML code> colonne de type à Oracle que j'essaie d'analyser pour obtenir le Paire de terrain / de valeur. Je ne sais pas si la structure du XML est la cause mais je ne peux pas extraire la valeur. P> null code> s. p> p>
3 Réponses :
Considérez une approche différente avec XMLeSence code> et ExtractValue () code> avec conditionnel dans l'expression XPath: select
extractValue(value(e), '//FIELD[@Type=''ACCOUNT BALANCES AND CORRESPONDING DATES'']') AS "amount"
from SALES_DATA x,
table (xmlSequence(extract(xml, '/SaleFile'))) e
figuré en essayant juste des codes différents: p>
Sélectionnez XT. * De Sales_Data X, Xmltable ('/ SaleFile / champ' Passer x.seller_data COLONNES Field_Val Varchar2 (500) Path '/') XT P>
Cela m'a donné la liste des valeurs pour chaque nœud de champ. p>
Vous avez dit que "... j'essaie d'obtenir le montant posté ...", c'est-à-dire une seule valeur.
Vous avez peu d'éléments de champ, donc un filtre basé sur le nom SQL P>
blockQuote>
Quelle est la version de Oracle DB?