选择包含不同xml属性值的行

时间:2014-11-20 12:28:56

标签: sql xml oracle

选择包含/分配xml属性值的行 例如。, My_table包含两行,每行有不同的XML列,例如xml-1和xml-2。 xml-1包含

  

< foo xmlns =“http:// xxxxxe”person =“Rahul”language =“English”>

和我的xml-2包含

  

< foo xmlns =“http:// xxxxxe”person =“Raj”language =“Hindi”>

现在我想要一个sql select查询,它选择语言=“English”的行。

2 个答案:

答案 0 :(得分:0)

从My_table中选择Xml-1,Xml-2,其中Xml-1喜欢'%English%'或Xml-2喜欢'%English%'

答案 1 :(得分:0)

试试这个

with xml_table as (select xmltype('<foo person="Rahul" language="English">A</foo>') xml
                    from dual
                    union all
                    select xmltype('<foo person="Raj" language="Hindi">B</foo>') 
                    from dual)
select x.xml.getstringval(), x.xml.extract('/foo/@language')
  from xml_table x
 where x.xml.extract('/foo/@language').getstringval() = 'English'