Función SQL para obtener el índice de la última ocurrencia de un carácter (o cadena) dentro de una cadena.
create or replace function lastIndexOf(cadena in varchar2, caracter in varchar2) return number /* Procedure que devuelve la posición de la última aparición de "caracter" en la "cadena". "caracter" puede ser una cadena también. */ is posx number := 1; posy number := 0; begin if (length(cadena) > 0) then posy := instr(cadena,caracter,posx); while (posy <= length(cadena) and posy > 0) loop posx := posy+1; posy := instr(cadena,caracter,posx); end loop; return posx-1; else return 0; end if; end;
mas simple usar select substr(cadena,instr(cadena,caracter,-1)+1) from dual
Gracias. Lo probaré y te digo ;).
🙂