oracle替换字符串中的中文

目录

前言

一、思路

1、使用正则表达式

2、换种思路

二、具体案例 

前言

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

oracle替换字符串中的中文_第1张图片

一、思路

1、使用正则表达式

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

2、换种思路

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

oracle替换字符串中的中文_第2张图片

二、具体案例 

代码:

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

效果:

oracle替换字符串中的中文_第3张图片

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

三、总结

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

你可能感兴趣的:(linq,sql,c#,oracle,中文替换)