oracle查询数据替换格式,Oracle使用正则表达式REGEXP_REPLACE替换xml格式文档中的数据...

需求描述:表TIMP_CONFIG中TEXT_DATA为clob类型,存储xml数据,

原数据为:

...

VAL_SOURCE,PORT_CODE,I_CODE,A_TYPE,M_TYPE

VAL_SOURCE,PORT_CODE,I_CODE,A_TYPE,M_TYPE,T_DATE

...

需要调整为:

...

VAL_SOURCE,PORT_CODE,HC_ID,I_CODE,A_TYPE,M_TYPE,ACCT_CODE

VAL_SOURCE,PORT_CODE,HC_ID,I_CODE,A_TYPE,M_TYPE,ACCT_CODE,T_DATE

...

其中有一段标签对会经常变,而且可能出现空格、换行等情况。

需求也只需替换表名为“TBSI_IR_VALUATION”对应的代码,这里就需要用正则表达式找到这段代码,然后进行替换

oracle脚本如下:

UPDATE TIMP_CONFIG

SET TEXT_DATA = REGEXP_REPLACE(TEXT_DATA,

'

'

VAL_SOURCE,PORT_CODE,HC_ID,I_CODE,A_TYPE,M_TYPE,ACCT_CODE

VAL_SOURCE,PORT_CODE,HC_ID,I_CODE,A_TYPE,M_TYPE,ACCT_CODE,T_DATE',

1,0,'n')

WHERE ID = 3;

regexp_replace函数说明如下

REGEXP_REPLACE(第一个是输入的字符串,第二个是正则表达式, 第三个是替换的字符,第四个是标识从第几个字符开始正则表达式匹配。(默认为1),第五个是标识第几个匹配组。(默认为全部都替换掉),第六个是是取值范围)函数

第六个是是取值范围:

i:大小写不敏感;

c:大小写敏感;

n:点号 . 不匹配换行符号;

m:多行模式;

x:扩展模式,忽略正则表达式中的空白字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值