oracle常用字符串函数

字符串是由两个引号来定义的,而在两个引号中没有任何字符时,表示NULL值。

一、字符串替换
replace和translate函数
replace和translate都是拥有字符替换的功能,replace是以字符串为单位,translate是以单个字符为单位。

语法:replace(‘目标字符串’, ‘待搜索字符串’, ‘替换字符串’)

select replace('123456abcdefg', 'abc', '00') from dual;

结果:12345600defg

语法:translate(‘目标字符串’, ‘待搜索字符’, ‘替换字符’)

select translate('123456abcdefg', 'a1f', '!@#') from dual;

结果:@23456!bcde#g
字符的对应关系:a -> !,1 -> @,f -> #

如果替换字符对应为空,则在目标字符串中去除搜索字符:

select translate('123456abcdefgZ', '#0123456789abcdefg', '#') from dual;

结果为Z。

可以用这个特点来检测一个字符串的字符是否在某个范围内,如果返回空,则字符串在目标字符范围内。
translate函数第三个参数不能为空,否则结果是NULL。replace函数第三个参数为空表示将待搜索的字符串去除。
继续阅读oracle常用字符串函数

oracle单引号

oracle单引号
一般是第一个单引号和最后一个单引号组成一个字符串,中间再遇到单引号就是转义字符

select '''' from dual;

///输出一个单引号


select '||' from dual;

///输出||


select 'name||' from dual;

///输出name||


select 'name'||'''' from dual;

///输出name’,||作为连接符,把name和一个单引号连接在一起