Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

extract xmltype value to string

helooSep 25 2019 — edited Nov 18 2019

data

-----------------

<row id='1'><a4 m='86'>852</a4>
<a4 m='86' s='2'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='2'>666</a4>
<a4 m='88'>55555</a4><a4 m='88' s='2'>66666</a4>
<a4 m='89'>999</a4><a4 m='89' s='2'>999</a4>
<a4 m='86'>852</a4><a4 m='86' s='3'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='3'>333</a4>
<a4 m='88'>55555</a4><a4 m='88' s='3'>33333</a4>
<a4 m='89'>999</a4><a4 m='89' s='3'>999</a4>
<a5>4_ABCDFFFF.02_XXX_0</a5>
</row>


<row id='2'><a4 m='86'>852</a4>
<a4 m='86' s='2'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='2'>666</a4>
<a4 m='88'>55555</a4><a4 m='88' s='2'>66666</a4>
<a4 m='89'>999</a4><a4 m='89' s='2'>999</a4>
<a4 m='86'>852</a4><a4 m='86' s='3'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='3'>333</a4>
<a4 m='88'>55555</a4><a4 m='88' s='3'>33333</a4>
<a4 m='89'>999</a4><a4 m='89' s='3'>999</a4>
<a5>4_ABCDFFFF.02_XXX_ABC_MN_0</a5>
</row>

<row id='3'><a4 m='86'>852</a4>
<a4 m='86' s='2'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='2'>666</a4>
<a4 m='88'>55555</a4><a4 m='88' s='2'>66666</a4>
<a4 m='89'>999</a4><a4 m='89' s='2'>999</a4>
<a4 m='86'>852</a4><a4 m='86' s='3'>852</a4>
<a4 m='87'>555</a4><a4 m='87' s='3'>333</a4>
<a4 m='88'>55555</a4><a4 m='88' s='3'>33333</a4>
<a4 m='89'>999</a4><a4 m='89' s='3'>999</a4>
<a5>0_dfeddfdfdfdfsd.02_feggx_999</a5>
</row>

UPDATE tbl

SET XMLCOL = XMLTYPE(

REPLACE(

XMLCAST(XMLQUERY('/row/a4 m='87'/text()' PASSING XMLCOL RETURNING CONTENT) AS VARCHAR(8)),

'20180102,'20180101'

)

)

where XMLCAST(XMLQUERY('/row/a4 m='87'/text()' PASSING XMLCOL RETURNING CONTENT) AS VARCHAR(8))='20180102'

How can i extract the node value and pass to the 1st parameter of replace function? as i am getting error for the above sql using Oracle 12c.

Comments
Post Details
Added on Sep 25 2019
2 comments
510 views