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;
About these ads

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

CERRAR

Pin It on Pinterest

Share This

Compártelo

¡Comparte este artículo con tus amigos!