В таблице есть столбец clob, в котором хранится текст XML такого вида:
БРЕСТСКАЯ
Город
КОБРИН
Улица
СУВОРОВА
33
6
225306
Хочется разобрать это силами SQL, получив в результате склейку значений.
В данном случае хочу получить на выходе
БРЕСТСКАЯ КОБРИН УлицаСУВОРОВА 33 6
Подскажите, как можно добиться такого результата?
Ответ
with t as
(select
'
БРЕСТСКАЯ
Город
КОБРИН
Улица
СУВОРОВА
33
6
225306
' as xml_
from dual)
SELECT extractvalue(s.column_value, '/*/Element[@type=''district'']')||' '||
extractvalue(s.column_value, '/*/Element[@type=''city'']')||' '||
'Улица '||extractvalue(s.column_value, '/*/Element[@type=''street'']')||' '||
extractvalue(s.column_value, '/*/Element[@type=''house'']')||' '||
extractvalue(s.column_value, '/*/Element[@type=''flat'']') as VAL
FROM t, table(xmlsequence(EXTRACT(XMLTYPE(t.xml_), '/Address'))) s
Комментариев нет:
Отправить комментарий