2016-09-25 2 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> 

Я хотел бы знать, как я могу извлечь значение каждого из параметров в XML с помощью regexp_substr, я пытался использовать функцию 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' как просили ...

Смежные вопросы