写个SQL函数,只要运用下系统的instr(string,string...[],[])配合substr(string,number)来用:
create or replace function f_o_get_jcywgnnamesbyid
(
m_jcywgnids in varchar2
)
return varchar2
is
/*
...
*/
i number;
v_jcywgnids varchar2(4000);
v_temp_id varchar2(20);
v_jcywgnname varchar2(4000);
begin
v_jcywgnids := m_jcywgnids;--必须要赋给一个变量,否则截取不了直接传进来的变量
if v_jcywgnids is not null then
i := instr(v_jcywgnids,';');
while i>0 Loop
v_temp_id := substr(v_jcywgnids,1,i-1);
v_jcywgnname := v_jcywgnname||' ';
v_jcywgnids := substr(v_jcywgnids,i+1);
i := instr(v_jcywgnids,';');
end Loop;
v_jcywgnname := v_jcywgnname||v_temp_id;
return v_jcywgnname;
else
return '';
end if;
end f_o_get_jcywgnnamesbyid;
运行测试: select f_o_get_jcywgnnamesbyid('30360001;30360002;30360003;30360004;30360005') from dual;
唑洅湾仔頂樓,窗邊菂佬鹰飝翔嗻
![](https://img2024.cnblogs.com/blog/35695/202407/35695-20240713070336838-1837943664.jpg)