Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #76311
    cgiorgi
    Participante

      E ae blz,

      To precisando fazer o seguinte tenho uma coluna na tabela com varios valores separados por | tipo ‘3|12|4|5|7|2’ sendo que os numeros variam de um a dois caracteres no maximo, tenho que imprimir eles separadamente .

      Alguem sabe de alguma forma de fazer isso em pl ?

      Abraço

      Carlo

      #76564
      marcelotorres
      Participante

        Vc pode usar e montar um cursor baseado no select abaixo:

        select substr(‘3|12|4|5|7|2’, 1,instr(‘3|12|4|5|7|2′,’|’)-1) from dual;

        é um começo…

        #76735
        kleber
        Participante

          set serveroutput on
          declare
          v_linha_original varchar2(100) := ‘3|12|4|5|7|2’;
          v_linha varchar2(100);
          v_aux number;
          v_retorno number;
          begin

          v_linha := v_linha_original;
          v_retorno := null;
          if instr(v_linha,'|') = 0 then
              v_retorno := v_linha;
              dbms_output.put_line('Retorno: '||v_retorno);
          else
              loop
                  v_retorno := substr(v_linha,1,instr(v_linha,'|')-1);
                  if v_retorno is null then
                      v_retorno := v_linha;
                      dbms_output.put_line('Retorno: '||v_retorno);
                  exit;
                  end if;
                  dbms_output.put_line('Retorno: '||v_retorno);
          
                  v_linha := substr(v_linha,instr(v_linha,'|')+1,length(v_linha));
          
          
                  if length(v_linha) = 0 then
                     dbms_output.put_line('Retorno: '||v_retorno);
                     exit;
                  end if;
          
              end loop;
          end if;
          

          end;
          /

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress