oracle不同行值相加,Oracle不同行的某列字符串相加,去除重复值

(14)自己写一个函数/************************************************************************************创建者:曾浩创建时间:2007-9-27最新修改者:曾浩最新修改时间:2007-9-27用途:改进的split函数,实现这样的效果输入字符串123,123,234,345,234,345,456和字符串,输出123,234,345,456

************************************************************************************/

create or replace function ZH_SPLIT(v_string in varchar2, v_delimiter in varchar2)

return varchar2

is

j int:=0;

i int:=1;

len_string int:=0;

len_delimiter int:=0;

str varchar2(4000);

v_return varchar2(4000);

begin

len_string := LENGTH(v_string);

len_delimiter := LENGTH(v_delimiter);

while j < len_string

loop

j := INSTR(v_string, v_delimiter, i);

if j = 0 then

j := len_string;

str := SUBSTR(v_string, i);

if instr(v_return, str) > 0 then

null;

else

v_return:=v_return||str||',';

end if;

if i >= len_string then

exit;

end if;

else

str := SUBSTR(v_string, i, j - i);

i := j + len_delimiter;

if instr(v_return, str) > 0 then

null;

else

v_return:=v_return||str||',';

end if;

end if;

end loop;

v_return := substr(v_return, 1, length(v_return)-1);

return v_return;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值