Boa tarde,  Diego,

Será que ao invés de dar ruim na parada, não deu bom não?

Pois não ficou claro sobre o que deveria acontecer no caso em que não vier
o cpf na string.

To entendendo que se nao veio nada, entraria vazio mesmo, melhor, os pipes.
Você está importando isso de algum arquivo edi ? Campo cpf veio vazio,  o
que entraria no lugar ? ou tinha cpf e nao inseriu ?


99|1500002|LUCIANA XIMENES SILVA|o que fazer quando aqui for vazio? |BRA|0||





2016-04-07 15:57 GMT-03:00 Diego Melo diegopm...@gmail.com [oracle_br] <
oracle_br@yahoogrupos.com.br>:

>
>
> Olá galera, tudo bem ?
>
> Por gentileza, poderiam me ajudar em um SQL.
>
> Minha versão do Oracle é:
>
> Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
> PL/SQL Release 10.2.0.5.0 - Production
> "CORE 10.2.0.5.0 Production"
> TNS for Linux: Version 10.2.0.5.0 - Production
>
> Tenho uma tabela com uma string e diversos campos separados por | (pipe)
>
> Preciso trazer cada campo em uma coluna. Eu até consegui uma maneira, o
> problema é que quando um registro não tem o campo preenchido e a string
> traz ||, ai da ruim na minha solução. Detalhe, eu não posso atlerar a
> string original
>
> Alguém teria uma solução em Oracle SQL ??
>
> Fiz do seguinte modo:
>
>
> CREATE TABLE t_1 ( strings varchar2(4000));
> /INSERT INTO t_1VALUES ('99|1500001|JOANA PRADO |08227525490|BRA|0||');
> INSERT INTO t_1VALUES ('99|1500002|LUCIANA XIMENES SILVA||BRA|0||');
> INSERT INTO t_1VALUES ('99|1500003|JULIA ROBERTS|44303539805|USA|0||');
> COMMIT;
> SELECT regexp_substr(strings,'[^|]+',1,1) identificador,
>        regexp_substr(strings,'[^|]+',1,2) id,
>        regexp_substr(strings,'[^|]+',1,3) nome,
>        regexp_substr(strings,'[^|]+',1,4) cpf,
>        regexp_substr(strings,'[^|]+',1,5) pais,
>        regexp_substr(strings,'[^|]+',1,6) tipoFROM t_1
>
>
>
> Reparem que o registro id 1500002 não tem cpf e ai o campo de pais acaba
> ocupando o espaço do CPF.
>
> Grato.
>
> Diego
>
>
>
> 
>
  • [oracle... Diego Melo diegopm...@gmail.com [oracle_br]
    • Re... angelo angelolis...@gmail.com [oracle_br]
      • ... Diego Melo diegopm...@gmail.com [oracle_br]
        • ... Gustavo Guedes guedescomputa...@gmail.com [oracle_br]
          • ... Gustavo Guedes guedescomputa...@gmail.com [oracle_br]
    • Re... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
      • ... Fernando - Unisul ferna...@unisul.br [oracle_br]
    • [o... alvaro.rbsfi...@yahoo.com.br [oracle_br]

Responder a