2016-09-25 123 views
0

我有一个从两列开始构建的人的表,第一个是id,第二个是XML,它们是个人详细信息。 例如,人的XML文件可以是:正则表达式oracle sql

<Person> 
    <name>First Last</name> 
    <address>5 Champ de Mars</address> 
    <city>Paris</city> 
    <country>France</country> 
    <phone-number>+3312345</phone-number> 
</Person> 

我想知道我怎么可以提取使用regexp_substr的XML参数中的每一个值,我曾尝试使用造成的功能EXTRACTVALUE我的问题太多了。 我毁了甲骨文。 例如,如果查询的XML我给: select regexp_substr(XML_file, 'pattern name') from peoples where id = 1; 将导致:First Last.

预先感谢您 Yonatan

回答

2

你碰上有什么对extractValue样的问题?

因为它似乎是你所需要的...

东西沿着SELECT EXTRACTVALUE(my_xml_column, '/Person/name') FROM my_table WHERE id=;线应该返回'First Last'如问...