参考文章:
oracle中的替换函数replace和translate函数
不多说,上SQL
select translate('(中文括号)','()','()') from dual;
至于为什么不使用replace呢?
replace与translate都是替代函数,
只不过replace针对的是字符串,而translate针对的是单个字符。
使用translate 后 ,"()" 中:
"(" 中文括号 对应 "(" 进行替换;
")" 中文括号 对应 ")" 进行替换;
扩展
关于替换掉指定字符(类似于删除指定字符),例如数据(随意生成):
替换掉指定的前面的字符,数量比较少且有规则(T、0、1、2、3、-)
所以使用 translate 来 替换
表达式:translate( 列, '需要替换的字符', '替换的新字符' )
这里去掉前面几个字符
translate( 列, 'T0123-', '' )
注意:如果直接替换成“ '' ”的话,列值会变为空值!
所以我们要替换成空格(或者其他字符),在使用replace把空格替换成空值
replace( translate(lie, 'T0123-', ' '), ' ', '' )