Formatando CNPJ e CPF no Oracle com Regex

Tem dúvidas de como fazer para ir formatando CNPJ e CPF no Oracle? Aqui nós resolvemos e vamos te contar.

[ad#texto]

Seguindo a pedidos segue mais um pouco de Regex aplicado ao Oracle PL/SQL, veja que é tão simples como foi para aplicar máscara moeda no PL/SQL.

Formatando CNPJ e CPF no Oracle
Formatando CNPJ e CPF no Oracle

Uma das grandes dúvidas é uma forma simples e eficiente para impor uma máscara para variáveis contendo um CNPJ ou CPF, constantemente veja o uso de DECODE´s empilhados ou complicadas funções que contam caracter a caracter para então ir realizando a formatação escolhido, estes casos ou causam perda de performance ou ainda se tornam pequenos “monstros” difíceis de manter.

Veja o caso do CPF:

SELECT regexp_replace(LPAD(12543684261, 11, '0'), '([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{2})','\1.\2.\3-\4') FROM dual

E no caso de um CNPJ:

SELECT regexp_replace(LPAD('1238524478912', 15, '0'),'([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{4})([0-9]{2})','\1.\2.\3/\4-\5') FROM dual

Nem são precisos demais comentários (se quiser pode verificar o que falamos anteriormente sobre Regex com PL/SQL), fica fácil identificar a divisão “em blocos” que fizemos com o Regex e em seguida sua métrica para formatar os dados.

Várias funções vão funcionar tanto no PL/SQL (packages, procedures, etc) como no Forms pois ambos são produtos da Oracle, porém em alguns casos funções não existirão no Forms, somente no PL/SQL, principalmente por diferenças entre versões.

Tags:,
Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 322 outros assinantes

Busca

setembro 2020
DSTQQSS
 12345
6789101112
13141516171819
20212223242526
27282930 

Categorias