Ir para conteúdo
Djonathan

[Resolvido] Formatar CNPJ e CPF no Oracle com Regex

Recommended Posts

Bom dia,

Alguém pode me ajudar ? Eu gostaria de colocar os dois (select regexp) dentro de outro select mostrando uma consulta completa trazendo os campos CPF e CNPJ formatados isso é possível ???

 

Segue abaixo a forma que estou tentando porem mostra a seguinte mensagem: ORA-01427: a subconsulta de uma única linha retorna mais de uma linha

 

SELECT

E085CLI.CODCLI E085CLI_CODCLI,
E085CLI.NOMCLI E085CLI_NOMCLI,
E085CLI.APECLI E085CLI_APECLI,
E085CLI.TIPCLI E085CLI_TIPCLI,

 

(SELECT regexp_replace(LPAD(E085CLI.CGCCPF, 15, '0'),'([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{4})([0-9]{2})','\1.\2.\3/\4-\5')
FROM SAPTESTE.E085CLI WHERE E085CLI.TIPCLI = 'J') As CNPJ, --pessoa jurídica,

 

(SELECT regexp_replace(LPAD(E085CLI.CGCCPF, 11, '0'),'([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{2})','\1.\2.\3-\4')
FROM SAPTESTE.E085CLI WHERE E085CLI.TIPCLI = 'F') As CPF --pessoa física

 

FROM SAPTESTE.E085CLI
WHERE E085CLI.SITCLI = 'A'
ORDER BY E085CLI.NOMCLI ASC;

Compartilhar este post


Link para o post
Compartilhar em outros sites

tENTE


 

 SELECT
E085CLI.CODCLI E085CLI_CODCLI,
E085CLI.NOMCLI E085CLI_NOMCLI,
E085CLI.APECLI E085CLI_APECLI,
E085CLI.TIPCLI E085CLI_TIPCLI,
(case when E085CLI.TIPCLI = 'J'
       then
         regexp_replace(LPAD(E085CLI.CGCCPF, 15, '0'),'([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{4})([0-9]{2})','\1.\2.\3/\4-\5')
       else
         regexp_replace(LPAD(E085CLI.CGCCPF, 11, '0'),'([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{2})','\1.\2.\3-\4')
       end) As CNPJPF  
FROM SAPTESTE.E085CLI
WHERE E085CLI.SITCLI = 'A'
ORDER BY E085CLI.NOMCLI ASC

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.