简体   繁体   中英

regular expression oracle sql

I have a table of people which build from two columns the first one is id and the second one is XML which counties the person details. For example the person XML file can be:

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

I would like to know how I can extract the value of each one of the parameters in the XML using regexp_substr , I have tried to use the function EXTRACTVALUE which caused me too many problems. I am ruining oracle. For example if querying the XML I gave: select regexp_substr(XML_file, 'pattern name') from peoples where id = 1; will result in: First Last.

Thank you in advance Yonatan

What kind of problems did you run into with EXTRACTVALUE?

Because it seems to be what you need...

Something along the lines of SELECT EXTRACTVALUE(my_xml_column, '/Person/name') FROM my_table WHERE id=; should return 'First Last' as asked...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM