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.

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.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.