translate 是用来替换字符的函数

语法:

 translate(char, from_str,to_str)

 

其中,char是待处理的字符串.

from_str是按顺序排列若干个要被替换的字符集合,注意是字符集合而不是字符串。

to_str 是按顺序对应from_str要被替换成的字符集合。

例如:

translate('abcd','ab','AB')

执行上面语句后, 'abcd'中的'a' 被'A'替换,  'b'被'B'替换。所以返回"ABcd"

这样看上去跟replace函数很类似。

但是,在

replace('abcd','ab','AB') 语句中,   是把'abcd'中的 'ab' 整个字符串替换成'AB',  应该能看出与上面translate的区别了吧。

举个例子

translate('acbd','ab','AB')  会返回"AcBd" ,因为'a' 被'A'替换,  'b'被'B'替换嘛,替换是每1个字符单独处理的。

而 replace('acbd','ab','AB')  则返回"acbd”, 因为字符串'ab'找不到啊, 所以没有做到替换处理。

下面写一些translate的一些要注意的特性。

1.

translate('abcd','abc','A') 中,    字符a会被'A'替换, 而b与c则没有指定替换成什么,oracle会默认替换成null。所以返回'Ad'.

2.

translate('abcd','abc','') 中, 连A被替换的字符也被省略掉了,是不是因为abc 3个 字符都被替换成null,所以返回d呢?

答案是错的, 如果to_str是blank('')或者null,则所有字符都会替换成null, 所以这个表达式返回null.

3.translate有许多特别的用途,

例如 我想将1个字符串内的数字全部去掉,则可以用
          

translate(str,'a1234567890','a')

这样的话字符串的a(如果存在的话)会被替换成自己a,而其他数字会替换成null,注意是null而不是空格啊。

或者

translate(str,' 1234567890',' ')

用空格来代替上面的'a'也ok,注意from_str和to_str都是以空格开头啊。

而不能用

translate(str,'1234567890','') ,  参考上面的特性2,会返回null的啊。

Oracle translate 函数的用法, 以及和replace的区别相关推荐

  1. Oracle trunc()函数的用法

    --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual  --20 ...

  2. oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...

  3. oracle查询本月第一天_oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天",  to_ch ...

  4. Oracle to_date()函数的用法

    在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法 to_date()与24小时制表示法及mm分钟的显示: ...

  5. Oracle to_char()函数的用法

    Comments - 446 Oracle to_char()函数的用法 The following are number examples for the to_char function. to_ ...

  6. oracle trunc q,Oracle trunc()函数的用法

    /**************日期  TRUNC()函数没有秒的精确********************/ select sysdate from dual --当时日期 select trunc ...

  7. 四舍五入oracle,Oracle trunc()函数的用法及四舍五入 round函数

    --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --201 ...

  8. oracle decode函数什么意思,oracle decode函数的用法

    oracle decode函数,不管查询的结果是否满足'PRIMARY',参数中的select语句还是会执行的,通过查看执行计划就知道 set autotrace traceonly select d ...

  9. Oracle NVL函数的用法

    今天研究了一下数据库中的过程,发现用到NVL这个函数,我记忆力不好,之前用过,长期不用又忘了.于是去查看了下官方的用法解释: http://docs.oracle.com/cd/E11882_01/s ...

最新文章

  1. Spring Initializr 构建Spring Boot/Cloud工程
  2. 众筹课 | 电气系统运维培训报名啦
  3. 金铲铲之战高峰期1万人排队,LOL手游如果公测会怎样?
  4. 美国劳工部揭露中国女人大数据,看完彻底傻眼了……
  5. jdk8 接口抽象类区别_JDK 8时代的抽象类与接口
  6. jrebel(破解版)+eclipse +jetty/tomcat 配置,实现热部署
  7. Windows7与Window2008 64位IIS7上面DCOM配置Excel、Word
  8. Scala之集合Collection
  9. BeanUtils介绍及其使用
  10. fsmc同步通信设置_微服务模式-同步与异步
  11. Spring Security Ajax 被拦截
  12. 下周出发去印度:直觉之旅,发现自己
  13. 数据库、模式、表的关系(转载)
  14. linux 挂载fat32格式u盘
  15. 数据结构概述3 对称矩阵、树和二叉树
  16. Redis 如何实现防止超卖和库存扣减操作?
  17. 线性代数导论32——基变换和图像压缩
  18. 全球与中国DIN导轨式信号调理器市场现状及未来发展趋势
  19. 电脑计算机和用户区分,电脑32位和64位的区别是什么
  20. 【网络知识】千兆网传输速度125MB/s、百兆网12.5MB/s,码率、比特率、带宽、文件大小M就是MB

热门文章

  1. Windows服务器版本简介
  2. 2022-01-23
  3. 信息安全之网络安全初体验(保密向)(一)
  4. SQL Server游标的使用
  5. C/C++编写的反向SHELL
  6. 获得系统当前时间的字符串格式
  7. Python程序练习题5.1-输出更大的田字格。
  8. JMeter初探-安装与使用
  9. Keepalived运行命令
  10. access无法 dolby_如何解决windows 8无法开启杜比音效的问题