登录/注册

会员中心

收藏

动态

创作

Oracle 使用translate 如何去除中文,单行函数 translate 的用法

小砖工 2020-03-03 10:32:12 1060 收藏 3

分类专栏: ORACLE 文章标签: oracle

版权

ORACLE 专栏收录该内容

28 篇文章 0 订阅

订阅专栏

单行函数 –> Translate

 举例,代码如下:

select translate('成龙ABC9TC', 'AC', '12') test from dual;

 结果如下:

 

剔除所有的数字

代码如下

select translate('成龙B12A2BC9T4C', 'a1234567890', 'a') from dual;

这里的 “a” 必须要有,否则数字会被替换为 “a”

剔除所有字母

代码如下:



1. select translate('成龙12A2BC9T4C',

2. '1qwertyuioplkjhgfdsazxcvbnm' || upper('1qwertyuioplkjhgfdsazxcvbnm'),

3. '1') test

4. from dual;



结果如下:

同样的,这里所有的字母前的 “1” , 也是必须要有的

剔除所有的汉字

代码如下:



1. select translate(

2. 'adb123你好TUS90中国人',

3. ' '||translate('adb123你好TUS90中国人',

4. '0123456789abcdefghijklmnopqrstuvwxyz'||upper('abcdefghijklmnopqrstuvwxyz'), ' '),

5. ' '

6. ) test

7. from dual;



结果如下:

最后,值保留所有汉字

代码如下:



1. select translate('adb123TUS90中国人asasd123',

2. ' 0123456789abcdefghijklmnopqrstuvwxyz'

3. ||upper('abcdefghijklmnopqrstuvwxyz'),

4. ' ') test

5. from dual;



执行结果如下:

注意:

根据Translate 函数的特性,我们也可以将此函数用作判断一个字段是否是纯数字,纯字母或纯中文;

只需要将转换前后的字段长度做对比,或者判断替换后长度是否为 0 就可以得到,这里不再赘述了。

Oracle 中,也可以使用正则表达式进行判断上述情形,请查看我的其他博客

^  - ^ …

小砖工

关注

专栏目录

oracle中如何判断一个字符串是否含有汉字.pdf

07-31

oracle中如何判断一个字符串是否含有汉字.pdforacle中如何判断一个字符串是否含有汉字.pdforacle中如何判断一个字符串是否含有汉字.pdf

oracle sql 去掉汉字保留数字或字母

java博客

4424

一、语法 TRANSLATE(string,from_str,to_str) 二、用途 返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE是REPLACE所提供的功能的一个超集。如果from_str比 to_str长,那么在 from_str中而不在to_str中的额外字符将从string中被删除,因为它们没有相应的替换字符。…

oracle 字符过滤中文,Oracle 过滤特殊字符_冯丹彤的博客

1-1

oracle 字符过滤中文,Oracle 过滤特殊字符 项目中遇到以下问题。页面传来一个url地址。根据这个url地址去查找记录。 关键是url地址含有特殊字符。如单引号’,地址符&等。 %和_等符号可以不考虑,因为使用的是= 如果使用的是like,那么就要…

ORACLE提取字符串中”汉字”串的解决办法
热门推荐

爱软件-从懂得生活开始。

1万+

我在在实际工作中常常要使用去特殊字符的功能,特别是插入到数据库中的数据,我们为了保证数据的质量,往往需要对数据进行清洗,就是去掉特殊字符,我们处理问题的思路是:判断字符串中的每个字符是不是中文,如果是中文,将他们按照顺序连接起来,如果不是,不要。 根据实际业务需求,共有2中解决方案: 方案一: 使用数据库自带函数**length,lengthb。 中文length返回的是字符个数,中文占1字

oracle 处理中文的正则表达式语法

yzhhchg的专栏

1886

有这么一个需求:如下数据’12abcAbc样****____//FFFFF({[FFFF/!*//&&&732子def’去除数字,字母,汉字以外的所有字符。怎么去?用\u4e00-\u9fa5是一个误导,不信你试试….我是这样写的:select regexp_replace(

oracle截取字段以及去除汉字

qq_39365424的博客

4049

//截取字符串: substr(org.org_name,0,ins**tr(org.org_name,‘钻探’,1,1)-1) as branch_comp_name //去除汉字: translate(org1.org_name,’#’|| translate(org1.org_name,‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0…

oracle 正则应用:只取汉字

weixin_33704234的博客

1975

SELECT REGEXP_REPLACE(‘王洪峰您好!公司拟计划于8月5日召开8月份计划会,具体时间另行通知[党政办】’, ‘[a-zA-Z[:digit:][:punct:][:space:]]’, ‘’) FROM DUAL; 【原文链接】http://www.tsingsong.com/jforum/posts/list/1002.page …

Oracle 使用TRANSLATE函数替换字符串中的字符

he91-com

90

一个需求,如何将(1234,56789,12345)替换为’1234*56789*12345’? 第一种方式,使用replace: ChenZw> SELECT REPLACE(REPLACE(REPLACE(‘(1234,56789,12345)’,’,’,’‘),’(‘,’’’’),’)’,’’’’) FROM DUAL; REPLACE(REPLAC*E(RE …

oracle怎么去掉汉字,oracle 真么删除里面的汉字?解决方案

weixin_33924688的博客

291

SQL codecreate table tb(area varchar(20))insert into tb values(‘100平方米’)insert into tb values(‘120平方米’)insert into tb values(‘70-80平方米’)go–方法一[吖-咗]select left(area,PATINDEX(‘%[吖-做]%’,area)-1) area fr…

oracle正则表达式如何匹配中文

博客已迁移至http://www.laokboke.com

2333

自从oracle10g支持正则表达式以来,受到很多人的喜欢,因为可以通过很少的代码便可以解决很多的问题,例如批量更新等。但对于国内用户来说,可能会遇到一个比较困扰的问题,就是使用在其他很多语言中都可以成功的中文匹配正则表达式,在oracle这里失效了,那到底oracle要怎么才能成功匹配中文呢?         请用\w         按照常规来说,在正则表达式中,匹配中文的…

中英文字符的替换(TRANSLATE**函数的运用)

沐浴在财神爷扎哥的光辉中。。。

261

··· for i in range(65281, 65381): print(chr(i), chr(i-65248)) ···

oracle**去除字段里的汉字

noctis233的博客

1801

oracle**去除字段里的汉字 数据库中某些字段过长,无法导入另一个库,现在规范数据格式 查询 ‘单位电话’ 字段的长度大于15的: select 单位电话 from 库 t where length(单位电话)>15 查询结果中有很多的空格字符,还有人把地址填这的,我傻了 用translate去除中文 select translate(单位电话,’把字段里的中文复制到这 ‘, ‘0’) from 库 t where length(单位电话)>15 示例 只找到这种办法 如果把 tra

ORACLEtranslate的妙用

whz110的专栏

51

下面是文档中的话   The following statement translates a license number. All letters ‘ABC…Z’ are translated to ‘X’ and all digits ‘012 . . . 9’ are translated to ‘9’: SELECT TRANSLATE(‘2KRW229’, ‘012345…

Oracletranslate 函数使用

杀破狼!!!

741

Oracletranslate 函数使用 实例: select   lmark3, translate( t.lmark3, ‘9876543210’ ||t.lmark3, ‘9876543210’)from line_data_all_t t 1 数学一:51 51 2 数学三:100 100 3 …

Oracle PL/SQL 过滤非数字字符

数据库天地

1987

背景:给同事做了个报表,使用时从EXCEL、网页等向报表中拷贝查询条件(局编)。 用户反映查不出数据——调查后发现用户填的局编带有空格——随手加了TRIM 又有查不出数据的情况——带有全角空格——用Replace替换全角空格 还有查不到,调查发现可能混有换行、EXCEL中神秘的空白符等。 处理:第一反应是让用户粘贴前先转贴到记事本中,“过滤”一下无效字符。简单、有效,但很不友好。 解决:…

Translate**函数能把字符串中所有汉字替换

200

select replace(translate(‘fas你db我fas他egas’, replace(Translate(‘fas你db我fas他egas’, …

translate**函数用法

王飞虎

8417

translate(string,from_str,to_str)     执行时,translate依次检查string中的每个字符是否在from_str中存在,如果不存在,那么这个string中的字符直接返回,如果存在,translate会记下这个字符在from_str中的位置,然后用to_str的同样位置的字符代替string中的这个字符作业返回结果, 举例如下    SQL> sel

oracle正则表达式去掉,Oracle正则表达式汇集
最新发布

weixin_39908462的博客

46

Oracle正则表达式汇集Oracle 10g数据库内建了符合IEEE POSIX (Portable Operating System for Unix)标准的正则表达式。熟练使用正则表达式,可以写出简洁,强大的SQL语句。正则表达式有几个优点优于常见的LIKE操作符和INS**TR、SUBSTR及REPLACE 函数的。这些传统的SQL 函数不便于进行模式匹配。只有LIKE 操作符通过使用%和_字…

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

小砖工

码龄4年 暂无认证

54
原创

12万+
周排名

18万+
总排名

11万+

访问

等级

1557

积分

16

粉丝

56

获赞

15

评论

234

收藏

私信

关注

热门文章

分类专栏

最新评论

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐

最新文章

2021年5篇

2020年66篇

2019年5篇

×

拖拽到此处

图片将完成下载