SQL> create or replace function myFun(str in varchar2) return number is 2 ret number; 3 str_sql VARCHAR(400); 4 begin 5 str_sql := 'select ' || replace(ltrim(rtrim(str,'\'),'\'),'\','*') || ' from dual'; 6 EXECUTE IMMEDIATE str_sql INTO ret; 7 return(ret); 8 end myFun; 9 /Function createdSQL> select myfun('\12\3\56\') from dual;MYFUN('\12\3\56\') ------------------ 2016
2 ret number;
3 str_sql VARCHAR(400);
4 begin
5 str_sql := 'select ' || replace(ltrim(rtrim(str,'\'),'\'),'\','*') || ' from dual';
6 EXECUTE IMMEDIATE str_sql INTO ret;
7 return(ret);
8 end myFun;
9 /Function createdSQL> select myfun('\12\3\56\') from dual;MYFUN('\12\3\56\')
------------------
2016