字符串是由两个引号来定义的,而在两个引号中没有任何字符时,表示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常用字符串函数