ArrayList が正確に何を意味するのかは不明です。ここで C#/Java/whatever 型について話しているのですか (Oracle PL/SQL には Generics がないため)。
とにかく、PL/SQLのコンマ区切りリストをPL/SQLテーブルに変換し、IN検索に使用する1つの方法を次に示します。
( AskTomを参照)
CREATE OR REPLACE TYPE STRINGLISTT as table of varchar2(4000);
create or replace function in_list(p_string in varchar2,
p_delimiter in varchar2) return StringListT is
l_string long default p_string || p_delimiter;
l_data StringListT := StringListT();
n number;
begin
loop
exit when l_string is null;
n := instr(l_string,
p_delimiter);
l_data.extend;
l_data(l_data.count) := ltrim(rtrim(substr(l_string,
1,
n - 1)));
l_string := substr(l_string,
n + 1);
end loop;
return l_data;
end;
使用法:
select * from my_tab t where t.name in
(select * from table(in_list('A,B', ',')));