Función SQL para obtener el índice de la última ocurrencia de un carácter (o cadena) dentro de una cadena.
Función lastIndexOf de Oracle
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;



¡Hola! Soy Javier. Soy informático y me gusta documentar todo lo que aprendo. En mi blog te enseño todo lo que sé y cómo puedes aprender a crear tu propia web, mejorar el SEO y aplicar técnicas de Marketing Digital para conseguir mayor visibilidad. Suscríbete para no perderte ninguna de mis guías sobre WordPress, posicionamiento SEO o Marketing Digital.

mas simple usar select substr(cadena,instr(cadena,caracter,-1)+1) from dual
Gracias. Lo probaré y te digo ;).
🙂