如何批量替换字符串中的某个特定字符?
admin
2023-04-14 08:01:39
0

前两天领导突然给了我一个excel文件(该文件的编码只是简单的一个编码,如‘C001’,而不是像A表中存在的是一个sql语句),里面有rule_code对应的代码,领导要求我将表A中ori_sql列where条件的汉字限制替换为代码,A表的主键是rule_code,

例如:
select from A a where a.codetype not in (select code from B b where b.codetypedesc='出险人保单身份类型代码';
改为:
select
from A a where a.codetype not in (select code from B b where b.codetypedesc='C001';

有的人觉得直接用replace替换:
update A set ori_sql = (select replace(lower(a.ori_sql),'出险人保单身份类型代码','C001') from A) ;

当时我也尝试了,但是A表中有上千万的数据,自然where条件不单单是'出险人保单身份类型代码'这一个条件,我对where条件存在的代码去重还有一千多条结果,这就意味着我要跑replace上述的sql一千多遍,我就会疯掉的。后来我尝试了将excel里的编码插入到表A,列名为r_code,将A表中where条件单独取出作为一列r_cow,这样就可以仅用一句sql语句就能实现上千条的不同条件的批量替换字符串中的某个字符了,
sql如下:
update A a set a.ori_sql = (select distinct replace(lower(a1.ori_sql),a1.r_cow,a1.r_code) from A a1 where a.ru_code=a1.row_code);

成功完成,不用加班咯!

相关内容

热门资讯

还是谈不成,特朗普没招了 作者 | 谢奕秋 编辑 | 阿树美伊新一轮的和平提议交换,至5月10日宣告无果而终。伊朗对美国提案的...
网传“45岁独身男子病逝15万... 近日,南京一位老人照顾独身病侄,侄子离世后15万存款被转走的事件引发广泛关注。5月12日,针对网传“...
亚太经合组织电信工作组第72次... 来源:上海证券报·中国证券网 上证报中国证券网讯 据工业和信息化部5月12日消息,5月11日,亚太经...
银星能源获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示银星能源(000862)新获得一项实用新型专利授权,专利名为“...
特朗普访华在即,随行商界大咖都... 美国总统特朗普将于5月13日至15日对中国进行国事访问。这是中美两国元首继去年10月釜山之后再次面对...
有线电视机顶盒安装问题求安装方... 有线电视安装说明: 一、将白色有线电视线一端连接有线电视终端盒另一端连接机顶盒后的射频输入口。 ...
60寸电视机尺寸画面长宽是多少...   60寸的液晶电视,60寸就是指电视屏幕对角线长度,因为长宽比有两种情况,经过寸转化为厘米计算之后...
长城电视机尺寸测量方法 长城电视机的尺寸测量方法与其他品牌的电视机测量方法基本相同。需要准备的工具有卷尺或直尺等测量工具,以...
伊朗学者:美伊能否达成协议,取... 伊朗5月10日就美国最新停战方案提交响应后,美国总统特朗普当天发文指出,伊方的响应“完全不可接受”。...
50英寸电视机尺寸是多少厘米 50 英寸电视机的尺寸通常是指屏幕对角线的长度,1 英寸约等于 2.54 厘米,因此 50 英寸电视...