create or replace
FUNCTION INVERSO(v IN VARCHAR) RETURN VARCHAR IS
aux VARCHAR(4001);
s CHAR(8) := 'SPORTING';
size_sporting PLS_INTEGER := 0;
posicion PLS_INTEGER;
BEGIN
posicion := INSTR(UPPER(v), UPPER(s));
size_sporting := LENGTH(s);
FOR I IN 1 .. LENGTH(v) LOOP
IF I >= posicion AND I <= posicion + size_sporting - 1 THEN
aux := aux || UPPER(SUBSTR(v, I, 1));
ELSE
aux := aux || SUBSTR(v, I, 1);
END IF;
END LOOP;
SELECT reverse(aux)
INTO aux
FROM dual;
RETURN aux;
END INVERSO;
/**Llamar a la funcion**/
SELECT INVERSO('josemanuel') FROM DUAL;
No hay comentarios:
Publicar un comentario