ORACLE函数REGEXP_REPLACE,replace,instr,substr(待更新)

regexp_replace(lower(name),’[^0-9a-zA-Z\u4e00-\u9fa5]’,’’) 除中文字母数字以外的字符全部替换掉
“\u4e00”和“\u9fa5”是unicode编码,并且正好是中文编码的开始和结束的两个值,所以这个正则表达式可以用来判断字符串中是否包含中文

od.remark=‘05|01000016||6222024********2135||||||||||5840|招商银丰城支行|213|Auto测试贰叁捌|||Y|1.06|JS|11|32|0.0||’

REGEXP_REPLACE(replace( case when substr(od.remark,
instr(od.remark,’|’,1,21)+1, (J的位置)
instr(od.remark,’|’,1,22)-1-instr(od.remark,’|’,1,21)) S后面|的位置-1-J前面|的位置 指的宽度JS
is null then ‘’
else substr(od.remark,
instr(od.remark,’|’,1,21)+1, (J的位置)
instr(od.remark,’|’,1,22)-1-instr(od.remark,’|’,1,21)) end ,chr(10),’’), S后面|的位置-1-J前面|的位置
‘[,""]’)

解析上面的REGEXP_REPLACE 正则替换,只要含有[,""]里面的符号就删除
instr(od.remark,’|’,1,21)意思是 以第一个| 开始到21个|

replace 替换的意思以‘’ 替换chr(10)
substr 截取

答案是JS

可以先自己推断下然后直接用sql在客户端自己运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值