oracle 拆分字符串并重新合并

博客分享了一个Oracle PL/SQL函数,用于将包含逗号分隔的字符串转换为以单引号包围的元素列表,例如将'11,22,33'转化为'11','22','33'。此函数在数据处理中可能会非常实用,特别是在需要将字符串拆分为列表进行操作的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近对function的操作有点多。网上找也找不到对于字符串的处理。现在写了一个,主要也是根据网上的改改,希望对朋友们有用。

CREATE OR REPLACE function YWWBBZ.renewchar
(
  av_str varchar2,  --要分割的字符串
  av_split varchar2  --分隔符号
)
return varchar2
is
  lv_str varchar2(1000);
  lv_length number;
  temp_str varchar2(100);
  result varchar2(4000);
begin
  lv_str:=ltrim(rtrim(av_str));
  lv_length:=0;
  result:='';
  while instr(lv_str,av_split)<>0 
  loop
     lv_length:=lv_length+1;
     temp_str:= substr(lv_str,0,instr(lv_str,',')-1);
     lv_str:=substr(lv_str,instr(lv_str,av_split)+length(av_split),length(lv_str));
     result:= result || ''''|| temp_str ||''''|| ',';
  end loop;
  lv_length:=lv_length+1;
  return result || ''''|| lv_str ||'''';
end renewchar;
/

 上面的代码可以满足,把字符串:11,22,33    转换成:'11','22','33'

具体如何拼接,全看你自己了。

觉得有用的朋友们可以点个关注啊,哈哈哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值