【发布时间】:2019-09-13 19:37:48
【问题描述】:
我需要将 XML 数据转换为字段/值对,但我对值的查询返回空值
我在 Oracle 中有一个 XML 类型列,我试图解析它以获取字段/值对。我不确定 XML 的结构是否是原因,但我无法提取该值。
这是 XML 数据的示例:
<SaleFile BRANCH_ID="ABCZ7" name="FILE20190523_BN0016_MAIN.DAT" File_Type="MAIN" id="574455888ABCYY7" type="ACCOUNT">
<FIELD Type="ACCOUNT BALANCES AND CORRESPONDING DATES" Redact_ind="FALSE" Name="POSTED_PMT_AMT">-673.00</FIELD>
<FIELD Type="CONSUMER CONTACT INFORMATION" Redact_ind="FALSE" Name="SECONDARY CUSTOMER">N</FIELD>
<FIELD Type="CONSUMER IDENTIFYING INFORMATION" Redact_ind="FALSE" Name="SECONDARY CUSTOMER NAME"></FIELD>
</SaleFile>
我正在尝试获取我的查询中返回的过帐金额。
SELECT xt.*
FROM SALES_DATA x,
XMLTABLE('/SaleFile/FIELD'
PASSING x.SELLER_DATA
COLUMNS
FIELD_VAL VARCHAR2(500) PATH 'FIELD'
) xt
查询运行没有错误,但我得到的只是NULLs。
【问题讨论】:
-
Oracle DB的版本是多少?