首页 > Linux操作系统 > Linux操作系统 > oracle函数的使用
用一个函数实现将一段字符串里连续的多个空格替换为一个空格
函数代码如下:
create or replace function squeeze2(p_string in varchar2)
return varchar2
is
v_string varchar2(512) := p_string;
i binary_integer := 1; --用于指示空格
begin
i := instr(v_string, ' ');
while (i > 0)
loop
v_string := substr(v_string, 1, i)
|| ltrim(substr(v_string, i + 1));
i := instr(v_string, ' ',i + 1);
end loop;
return v_string;
end;
用红色突出的是关键代码,它先找到字符串里面第一个空格,然后取出第一个字符一直到第一个空格为止(包括空格),然后用ltrim函数去掉剩下的字符中最左边的所有空格,然后将两个部分连接在一起作为一个整体替换原来的字符串,又开始用instr查找从第 i + 1个字符开始第一次遇到的空格的位置,依次循环,直到找不到空格为止,结束循环。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26500857/viewspace-719478/ ,如需转载,请注明出处,否则将追究法律责任。