从Oracle DB基于密钥

时间:2019-02-21 14:26:23

标签: xml oracle cdata

下表中的我的XML

<fields><field key="2" val="5" type="D"/><![CDATA[<field key="3" val="SkpKSko=" 
type="T"></field>]]></fields>

我想通过将密钥作为SkpKSko=传递来获取3的值

我正在使用查询

SELECT x.val  from Valuefromglobal ,xmltable('/fields/field[@key=2]' PASSING 
XMLFILED COLUMNS val VARCHAR2(400) PATH '@val' ) x 

上面的查询给了我5的结果预期的答案。 但是,如果我将参数更改为@key=3以获取CDATA值,则结果为0条记录。

1 个答案:

答案 0 :(得分:0)

如果使用XMLTABLE提取CDATA,然后将其传递到下一个XMLTABLE以获取VAL属性,也许可以得到所需的结果。

-c echo "this a is test test"

输出:

TEST="this is a test test test test"
SHELL=/bin/echo
all:
    @echo $(sort $(TEST))

DB<>FIDDLE