oracle replace()函数用法
用法介绍
REPLACE(char, search_string [, replacement_string ] )
char : 等待替换的字符串
search_string : 搜索需要替换的字符串
replacement_string : 替换字符串
如果replacement_string缺省或者为null,那么所有char中出现的search_string 都将被移除
如果search_string为null,那么结果就是char
代码如下 | 复制代码 |
SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL; |
例1
把数据库中‘2011-10-11’ 的格式,结果导入的数据为 ‘2011/10/11’
代码如下 | 复制代码 |
update 表1 t set t.列1=replace((select 列1from 表1 a where a.主键列=t.主键列) , '/' , '-' ) 解决了我们问题。 |
replace 字符串级别的代替
如:
代码如下 | 复制代码 |
SELECT REPLACE('accd','cd','ef') from dual; --> aefd |
translate 字符级别的代替
如:
代码如下 | 复制代码 |
select translate('acdd','cd','ef') from dual; -->aeff |
分别详解
replace:
语法:REPLACE(char,search_string[,replacement_string])
解释:replace中,每个search_string都被replacement_string所代替
代码如下 | 复制代码 |
select replace('acdd','cd','ef') from dual; --> aefd |
如果replacement_string为空或为null,那么所有的search_string都被移除
代码如下 | 复制代码 |
select replace('acdd','cd','') from dual; --> ad |
如果search_string 为null,那么就返回原来的char
代码如下 | 复制代码 |
select replace('acdd','ef') from dual; -->acdd elect replace('acdd','','') from dual; -->acdd |
(也是两者都为空的情况)
补充:数据库,Oracle教程