我试图查询表中的XMLtype字段,该表中的元素名称在每次出现时都增加1。这些元素可能有1到很多级别,我想知道是否有一种方法来通配元素名称,以便它将基于名称搜索返回所有元素值,而不是将所有可能的名称级别联合起来?在找出这一步之后,我正在寻找listagg或连接结果。查询在Oracle中增加XML元素名称
select extractvalue(myXMLfield,'/doc/name1') from myTable
union
select extractvalue(myXMLfield,'/doc/name2') from myTable
union
select extractvalue(myXMLfield,'/doc/name3') from myTable
VS某种的元素名称
select extractvalue(myXMLfield,'/doc/name%') from myTable
XML样本通配符搜索的
<doc><name1>NAME_1</name1><name2>NAME_2</name2><name3>NAME_3</name3></doc>
期望中的SQL查询VARCHAR串联输出
"NAME_1,NAME_2,NAME_3"
包括样品XML和期望的输出数据将是有益的。 –
我添加了一些XML和SQL输出示例。 – Jared