› Fóruns › SQL e PL/SQL › Quebrar string SQL › Quebrar string SQL
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;