Acho que a função abaixo pode te ajudar:
create or replace function fun_retorna_string(vl_valor number
,vl_tipo number)
return number is
v_valor1 number;
v_total number;
begin
v_total := length(vl_valor);
if v_total is not null then
v_valor1 := substr(vl_valor,1,1);
if vl_tipo = 1 then — maior
begin
for a in 2..v_total loop
if v_valor1 substr(vl_valor,a,1) then
v_valor1 := substr(vl_valor,a,1);
end if;
end loop;
end;
end if;
end if;
return v_valor1;
end;
— essa parte é para executar a função
declare
v_teste number;
begin
v_teste := fun_retorna_string(6355586,2);
dbms_output.put_line(v_teste);
end;