oracle替换字符串中的中文

简介: 笔记

前言


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

1.png

一、思路


1、使用正则表达式

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


2、换种思路

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

2.png


二、具体案例


代码:

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

效果:

3.png

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


三、总结


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

相关文章
|
7月前
|
SQL Oracle 关系型数据库
Oracle查询优化-计算字符在字符串中出现的次数
【2月更文挑战第3天】【2月更文挑战第7篇】只接上SQL
140 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle之如何遍历字符串
Oracle之如何遍历字符串
169 1
|
7月前
|
SQL Oracle 关系型数据库
Oracle insert数据时字符串中有‘单引号问题
Oracle insert数据时字符串中有‘单引号问题
|
7月前
|
Oracle 关系型数据库
Oracle查询优化-在字符串删除特定字符
【2月更文挑战第4天】【2月更文挑战第8篇】比较灵活,列举三个常见的方式
375 0
|
7月前
|
Oracle 关系型数据库
Oracle查询优化-遍历字符串
【2月更文挑战第3天】【2月更文挑战第6篇】Oracle查询优化-遍历字符串
61 0
|
7月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-按照数字和字母混合字符串中的字母排序
【1月更文挑战第3天】【1月更文挑战第7篇】在对Oracle数据库进行查询优化,尤其是按照数字和字母混合字符串中的字母进行排序时,可以使用多种方法来达到预期的结果。
159 0
|
SQL Oracle 关系型数据库
Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配
Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配
457 0
|
SQL Oracle 关系型数据库
oracle在sql中判断字段值是数字还是字符串
oracle在sql中判断字段值是数字还是字符串
|
Oracle 关系型数据库 数据处理
通过Oracle识别字符串中的中文or字母or数字来介绍全角半角转换函数(to_multi_byte/to_single_byte)在varchar/clob中的使用案例
在日常处理数据的过程中,大家肯定会遇到很多奇奇怪怪的字符,然后还要对这些字符处理,比如***你有个需求:识别字符串中的中文或是识别字母或是识别数字,甚至都识别出来然后剔除or保留某些字符汉字或数字***。 你去百度了一下相关问题,然后得到的结果大都是用正则 '\4E00' and '\9FA5'来识别中文范围用a-zA-z或0-9或[:digit:][:alpha:]来识别字母或数字。但是如果你的字符串中包含全角字符,那这样是识别不全的!!!那怎么做才能够正确的识别中文、字母、数字呢???那就要考虑先做全半
通过Oracle识别字符串中的中文or字母or数字来介绍全角半角转换函数(to_multi_byte/to_single_byte)在varchar/clob中的使用案例
Zp
|
Oracle 关系型数据库
Oracle 判断某个字段是否包含某个字符或字符串
Oracle 判断某个字段是否包含某个字符或字符串
Zp
1815 0