如何使用REGEXP_REPLACE


没身份别烦我
2025-03-29 12:13:23 (10天前)


我有如下所示的string / xml标签。请看下面的代码……

< filterCriteriaRow>
< filterCriteriaItem>
<&的attributeName GT; ABCD< /&的attributeName GT;
< COLUMNNAME> …

2 条回复
  1. 0# 呵呵 | 2019-08-31 10-32



    Oracle中有许多XML选项,其中许多在最近的版本中已被弃用。



    一个当前选项是使用xquery更新,以下示例假设您的XML位于存储为XMLTYPE的表中。



    假设每个’filterCriteriaItem’有两个’value’节点……




    1. SELECT XMLQUERY (
      copy $copy := .
      modify (
      for $fci in $copy/filterCriteriaRow/filterCriteriaItem/value[2]
      return rename node $fci as value2”)
      return $copy
      PASSING xml_doc
      RETURNING CONTENT) new_xml_doc
      FROM table_name;

    2. </code>


    或者更一般地……




    1. SELECT XMLQUERY (
      copy $copy := .
      modify (
      for $fci in $copy/filterCriteriaRow/filterCriteriaItem
      for $val at $pos in $fci/value
      return rename node $val as
      fn:concat(“value”, if ($pos = 1) then “” else $pos))
      return $copy
      PASSING xml_doc
      RETURNING CONTENT) new_xml_doc
      FROM table_name;

    2. </code>

登录 后才能参与评论