1.創建一個TYPE:
CREATE OR REPLACE TYPE "TOOLS_STRLIST"
2.創建一個Function:
create or replace function Tools_Str2List(str_in in varchar2) return Tools_StrList is
v_Str Long Default Str_In || ',';
v_Index Number;
v_List Tools_StrList := Tools_StrList();
Begin
Loop
v_Index := Instr(v_Str, ',');
Exit When(Nvl(v_Index, 0) = 0);
v_List.Extend;
v_List(v_List.Count) := Trim(Substr(v_Str, 1, v_Index - 1));
v_Str := Substr(v_Str, v_Index + 1);
End Loop;
Return v_List;
End;
3.使用:SELECT * FROM TABLE(Tools_Str2List('1,2,3'));
本文介绍了一个Oracle过程,用于将输入的逗号分隔字符串转换为列表类型。此过程通过定义一个名为TOOLS_STRLIST的类型,并创建一个名为Tools_Str2List的函数实现。该函数接受一个包含逗号分隔值的字符串作为参数,并返回一个列表,每个元素都是原字符串中的一个值。

被折叠的 条评论
为什么被折叠?



