Pular para o conteúdo

Fóruns SQL e PL/SQL Quebrar string SQL Quebrar string SQL

#77888
Fontalva
Participante

    Só mais um exemplo.

    Declare
    v_string Varchar2(23) := '|1|2||3|9|74|05|234|11'; --> Variavel String que será Destribuida
    v_retorno Varchar2(10); --> Variavel que recebera os campos da String
    Begin
    v_string := v_string||'|'; --> Atribuo o pipe '|' no final para que não reste nenhum campo no final da String
    for x in 1..length(v_string) Loop --> Loop que correra a String inteira.
    If substr(v_string,x,1) '|' Then --> Se for um pipe '|' sei que acabou um campo
    v_retorno := v_retorno||substr(v_string,x,1); --> V_retorno recebe ele mesmo concatenado com o proximo caracter atual
    Else
    If x > 1 Then --> Caso seja o primeiro ainda seja o primeiro campo o pipe '|' não faço nada.
    dbms_output.put_line(v_retorno);
    End If;
    v_retorno := '';
    End If;
    End Loop;
    End;