CREAR FUNCION SPLIT


  • Crear Tipo

create or replace type split_tbl as table of varchar2(32767);


  • Crear Función

create or replace function SPLIT
(
    p_list varchar2,
    p_del varchar2 := ','
) return split_tbl pipelined
is
    l_idx    pls_integer;
    l_list    varchar2(32767) := p_list;
    l_value    varchar2(32767);
begin
    loop
        l_idx := instr(l_list,p_del);
        if l_idx > 0 then
            pipe row(substr(l_list,1,l_idx-1));
            l_list := substr(l_list,l_idx+length(p_del));

        else
            pipe row(l_list);
            exit;
        end if;
    end loop;
    return;
end SPLIT;


  • Prueba

SELECT * FROM TABLE(SPLIT('CP AMAZONAS, AMAZONAS, BAGUA'));


  • Resultado

FILA_1 => CP AMAZONAS
FILA_2 => AMAZONAS
FILA_3 => BAGUA

Comentarios

Entradas populares de este blog

Subir proyecto al repositorio existente en Bitbucket

Sonarqube : The component parameter is missing