如何在PL/SQL中解析逗号分隔的字符串? [英] How to parse comma delimited string in PL/SQL?
本文介绍了如何在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屋!
查看全文