项目迁移,原来数据库中存储的 IP 地址变化了,需要批量替换下。使用 Oracle 的 replace 函数来操作,
replace 函数说明
- replace(source,str1,str2),把 source 中 str1 字符串替换为 str2 字符串。若 str2 为 null 或空时,相当于把 str1 字符串剔除。
- replace(source,str1) ,把 source 中的 str1 字符串剔除。
- regexp_replace(source,pattern_str,rep_str),支持正则表达式,用法类似于 replace,功能更强大。
- regexp_replace(source,pattern_str) ,把 source中的 pattern_str 字符串剔除。
实践
原来数据库表中 news_url 字段 IP 是10.23.75.88,需要批量替换成 10.23.75.99。
update OA_IPO_NEWS a set a.NEWS_URL=replace(a.NEWS_URL, '10.23.75.88', '10.23.75.99');
批量更新后,修改成功。