oracle替换字符串中的中文

目录

前言

一、思路

1、使用正则表达式

2、换种思路

二、具体案例 

前言

        最近因业务需求,想去掉对应产品批次号中的中文字符。哈哈哈,有时候就很无奈。因业务规范需要较长的时间,So选择了代价最低的用技术来弥补。哈哈哈,好的,让我们先来看看这里面的数据是怎么样的。

一、思路

1、使用正则表达式

        最先想到的是使用正则表达式,但oracle正则表达式regexp_substr、regexp_like、regexp_replace是无法像其他正则表达式一样用[\u4e00-\u9fa5]来匹配中文的。

2、换种思路

        批次规则一般包括数字、字母、特殊符号和汉字,去掉ascii表里面没有的字符不就是中文了。详情可参考对应ascii表。

二、具体案例 

代码:

select distinct regexp_replace(生产批次号,'['||chr(128)||'-'||chr(255)||']','') th,生产批次号 from BI.QZ_ZB_GCPJCSJ
order by 生产批次号 desc

效果:

解析:对应同学们运用的时候改变字段名称和表名即可。 

三、总结

        中文替换也要根据实际场景来应用后,要看替换后是否合理,不能影响使用才是王道。技术知识手段,运用好才是我们的目的。

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他们叫我技术总监

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值