create or replace function f_reverse(num number) return number
/*
测试反取函数,例如输入123,输出321
*/
as
type v_varry IS VARRAY(100) OF number;
v v_varry ;
re number;
err_code number;
err_msg varchar2(200);
begin
v := v_varry(1,1,1,1,1,1,1,1,1,1,1,1);
select substr(num,1,1) into v(1) from dual;
select substr(num,2,1) into v(2) from dual;
select substr(num,3,1) into v(3) from dual;
select substr(num,4,1) into v(4) from dual;
select substr(num,5,1) into v(5) from dual;
select substr(num,6,1) into v(6) from dual;
select substr(num,7,1) into v(7) from dual;
select substr(num,8,1) into v(8) from dual;
select substr(num,9,1) into v(9) from dual;
select substr(num,10,1) into v(10) from dual;
select substr(num,11,1) into v(11) from dual;
select substr(num,12,1) into v(12) from dual;
for i in 1 .. v.count loop
re := v(i) || re;
end loop;
re := to_char(re);
return re;
exception
when others then
err_code := sqlcode;
err_msg := substr(sqlerrm, 1, 200);
dbms_output.put_line(err_code || err_msg);
end;
/*
测试反取函数,例如输入123,输出321
*/
as
type v_varry IS VARRAY(100) OF number;
v v_varry ;
re number;
err_code number;
err_msg varchar2(200);
begin
v := v_varry(1,1,1,1,1,1,1,1,1,1,1,1);
select substr(num,1,1) into v(1) from dual;
select substr(num,2,1) into v(2) from dual;
select substr(num,3,1) into v(3) from dual;
select substr(num,4,1) into v(4) from dual;
select substr(num,5,1) into v(5) from dual;
select substr(num,6,1) into v(6) from dual;
select substr(num,7,1) into v(7) from dual;
select substr(num,8,1) into v(8) from dual;
select substr(num,9,1) into v(9) from dual;
select substr(num,10,1) into v(10) from dual;
select substr(num,11,1) into v(11) from dual;
select substr(num,12,1) into v(12) from dual;
for i in 1 .. v.count loop
re := v(i) || re;
end loop;
re := to_char(re);
return re;
exception
when others then
err_code := sqlcode;
err_msg := substr(sqlerrm, 1, 200);
dbms_output.put_line(err_code || err_msg);
end;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-1061411/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12961536/viewspace-1061411/