Oracle存储过程常用字符串处理函数整理

1.CHR(x):
返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字符

begin
  -- 打印CHR(73)的值
  dbms_output.put_line(CHR(73));    ——>输出:I
end;

2.replace(String,searchStr,replaceStr):
把string中所有的子字符串searchStr用replaceStr字符串替换,如果没有指定replace_str,所有的string中的子字符串 searchStr都将被删除
例:
(1)替换字符

-- 替换 aabbcc中aa为zz
select replace('aabbcc','aa','zz') from dual   ——>输出:zzbbcc

(2)替换多个字符

--替换aabbcc中aa为空,则为bbcc,再替换bb为空,则为cc
select replace(replace('aabbcc','aa',''),'bb','') from dual   ——>输出:cc

(3)替换后缀

regexp_replace('xxaabbxxccaa','aa$','')   ——>输出:xxaabbxxcc

(4)替换前缀

regexp_replace('xxaabbxxccaa','^xx','')    ——>输出:aabbxxccaa

3.UPPER(string)
字符串转为大写

UPPER('as231.,')   ——>输出:AS231.,

4.CONCAT(string1,string2):
string1拼接string2

CONCAT('aa','cbb')   ——>输出:aacbb

5.SUBSTR(string,num1,num2)
从string字符串的第num1个字符,截取num2个长度的字符串

SUBSTR('abcdefg',3,2)   ——>输出:de

6.translate(expr, from_strimg, to_string)
对expr内容,用to_string中的字符逐一替换from_string 中的字符

 translate('1234567','123','abc')   ——>输出:abc4567
translate('1234567','123','ab');     ——>输出:ab4567
translate('1234567','1232','a');      ——>输出:a4567
translate('1234567','1231','a');     ——>输出:a4567
translate('1234567','1231','abcd');    ——>输出:abc4567

7. INSTR(string1,string2,num1,num2)
得到在string1中包含string2的位置
num1:从string1中第num1个字符开始查找
num2:返回查找后的第num2个字符

INSTR('abcdefff','bc')   ——>输出:2
INSTR('abcdefffbcaaabc','b',4,2)   ——>输出:14.      abcdefffbcaaabc中从第4个字符d开始第二次出现b字符的位置

8.LENGTH(string) :返回字符串长度

猜你喜欢

转载自blog.csdn.net/qq_38425803/article/details/107669779