Oracle translate 函数的用法, 以及和replace的区别
语法:
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的区别的更多相关文章
- Oracle to_date()函数的用法
Oracle to_date()函数的用法 to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,供您参考学习. 在Orac ...
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
- oracle获取本月第一天和最后一天及Oracle trunc()函数的用法
select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...
- Oracle trunc()函数的用法--来着心静禅定ing
1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指 ...
- Oracle trunc()函数的用法及四舍五入 round函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- [转]Oracle trunc()函数的用法
原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元 ...
- Oracle to_date()函数的用法介绍
to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,需要的朋友可以参考下 在Oracle数据库中,Oracle t ...
- Oracle to_date()函数的用法《转载》
to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明, 原文地址:http://database.51cto.com/art ...
- oracle管道函数的用法
oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合,下面将介绍oracle管道函数的语法. 在普通的函数中,使用dbms_output输出的信息,需要在服务器执行完整个函数 ...
随机推荐
- svnUbuntu下安装与使用(ZT)
1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home/xiaozhe ...
- win7 64位搭建scrapy
http://blog.csdn.net/it_yuan/article/details/23856713 win7 64位系统依赖的scrapy文件链接:http://pan.baidu.com/s ...
- 学习笔记:APP切图那点事儿–详细介绍android和ios平台
学习笔记:APP切图那点事儿–详细介绍android和ios平台 转载自:http://www.woofeng.cn/articles/168.html 版权归原作者所有 作者:亚茹有李 原文地址 ...
- 收藏:关于UseSubmitBehavior和OnClientClick同时使用,导致无法触发后台事件的问题
经常会有正样的需求,在用户做一个不易恢复并且容易误操作的动作时需要给用户以提示,用户确认后继续执行动作. 简单的解决方案是:前台用OnClientClick事件中使用Confirm给用弹出确认提示框, ...
- nginx php-cgi php
/*************************************************************************** * nginx php-cgi php * 说 ...
- java 函数 运算符
1. 函数的重载:多个函数名相同,根据参数列表(个数,类型)选择执行不同函数,不能按返回值类型区分. 2. 运算符: / /两头都是int类型 则做求商运算,如果一头有小数就做正常的除运算 5/2 / ...
- Linux上的free命令学习
Linux新手,今天使用了free命令来查看电脑内存的使用情况.如下:-m表示以M来显示. 1.基本信息介绍 (1)其中纵向信息: Mem:表示物理内存大小 -/+ buffers/cached:表示 ...
- 1password密码文件重装后恢复
因为重装系统,加上Time machine硬盘损坏. 只能从之前零散Time machine的恢复数据中找到最近的一个备份. 1password是会自己执行备份的,起备份文件在 ~/Library/C ...
- codeforce Error Correct System
题目大意: 给出两串n(1 ≤ n ≤ 200 000)个字母的字符串, 求出最多交换一对数, 使得不相同对数变少,求出不相同的对数以及交换的数的位置,若不需交换则输出-1,-1. 分析: 用矩阵记录 ...
- 使用labview对kinect进行开发
一.必要工具: LabVIEW 2011 或更高版本 用于Microsoft Kinect的Kinesthesia工具包 - 利兹大学(University of Leeds) 详情参见(先注册ni) ...