varying elements in IN list of query
Create or replace type myTableType as table of varchar2(5); /or Number/
Create or replace function str2tbl( p_str in varchar2 )
Return myTableType
as
l_str long default p_str || ',';
l_n number;
l_data myTableType := myTabletype();
Begin
Loop
l_n := instr( l_str, ',' );
exit when (nvl(l_n,0) = 0);
l_data.extend;
l_data( l_data.count ) := ltrim(rtrim(substr(l_str, 1, l_n-1)));
l_str := substr( l_str, l_n+1 );
End loop;
Return l_data;
End str2tbl;
select *from THE ( select cast( str2tbl('1, S, 3, 5, 6') as mytableType ) from dual) ;
Column_value
1
S
3
4
5
Ref. http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:110612348061
No comments:
Post a Comment