如何在PL/SQL中解析逗号分隔的字符串? [英] How to parse comma delimited string in PL/SQL?

查看:95
本文介绍了如何在PL/SQL中解析逗号分隔的字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在PL/SQL脚本中有一个逗号分隔的字符串(例如data:='a,b,c,d,e'),我需要在脚本中进行解析.

I have a comma delimited string in a PL/SQL script (e.g. data:= 'a,b,c,d,e'), that I need to parse out within the script.

我想遍历字符串并处理每个项目.就像一个"foreach"循环.

I would like to loop through the string and process each item. Like a 'foreach' loop.

在PL/SQL中这可能吗?有人可以指出一些代码吗?

Is this possible in PL/SQL? Can someone point me to some code?

推荐答案

如果您使用的是Oracle 10G或11G,则应该具有内置的Apex函数apex_util.string_to_table:

If you are on Oracle 10G or 11G then you should have a built-in Apex function apex_util.string_to_table:

SQL> declare
  2    v_array apex_application_global.vc_arr2;
  3    v_string varchar2(2000);
  4  begin
  5  
  6    -- Convert delimited string to array
  7    v_array := apex_util.string_to_table('alpha,beta,gamma,delta', ',');
  8    for i in 1..v_array.count
  9    loop
 10      dbms_output.put_line(v_array(i));
 11    end loop;
 12  
 13    -- Convert array to delimited string
 14    v_string := apex_util.table_to_string(v_array,'|');
 15    dbms_output.put_line(v_string);
 16  end;
 17  /
alpha
beta
gamma
delta
alpha|beta|gamma|delta

PL/SQL procedure successfully completed.

这篇关于如何在PL/SQL中解析逗号分隔的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆