一般逗号分隔数字的字符串要转成数组形式,可以通过pipelined方式,这里还有一种简单的方式.
CREATE OR REPLACE TYPE "T_VAR_TYPE" IS TABLE OF varchar2(20)
CREATE OR REPLACE FUNCTION "COMMA2TABLE" (i_list varchar2) return t_var_type is
result t_var_type;
begin
/*简易的将特殊符号分割的字符串分割成数组,分隔符只能是一个字符*/
select regexp_substr(i_list, '\w+', 1, level) bulk collect
into result
from dual
connect by level <= length(regexp_replace(i_list, '\w+')) + 1;
return result;
end comma2table;
/
--查询
select column_value from table(comma2table('123,223,323,423'));
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10817506/viewspace-700769/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10817506/viewspace-700769/