Bogos

outubro 17, 2008

Máscara de CPF e CNPJ

Filed under: SQL — Tags:, , , , , , , , , — Bogos @ 1:11 pm

–Mascarando CPF e CNPJ
SELECT
    Decode(cpf, NULL,NULL,
    Translate(To_Char(cpf/100
      ,’000,000,000.00′)
      ,’,.’
      ,’.-‘)) cpf_com_mascara,
    Decode(cnpj,NULL,NULL,
    REPLACE(REPLACE(REPLACE(To_Char(LPad(REPLACE(cnpj,’ ‘)
        ,14
        ,’0′)
        ,’00,000,000,0000,00′)
        ,’,’
        ,’.’)
        ,’ ‘)
      ,’.’||Trim(To_Char(Trunc(Mod(LPad(cnpj
        ,14
        ,’0′)
        ,1000000)/100)
        ,’0000′))||’.’
      ,’/’||Trim(To_Char(Trunc(Mod(LPad(cnpj
        ,14
        ,’0′)
        ,1000000)/100)
        ,’0000′))||’-‘)) cnpj_com_mascara
FROM (
    (SELECT ‘12345678912’ cpf, ‘12345678000189’ cnpj FROM dual))

— Retirando a máscara
SELECT REPLACE(Translate(‘012.365.478-56′,’.-‘,’  ‘),’ ‘) FROM dual;
SELECT REPLACE(Translate(‘12.365.478/0001-56′,’./-‘,’   ‘),’ ‘) FROM dual;

Anúncios

3 Comentários »

  1. Legal, parabéns.

    Comentário por JPA — setembro 2, 2009 @ 5:37 pm

  2. Gostei da solução bem trabalhada mas, será que vale a pena todo este processamento para pré-mascarar um simples cnpj? Fora do SQL fica mais eficaz embora não tão elegante.

    Comentário por mateusfig — novembro 10, 2009 @ 11:54 am

  3. Muito legal sua solucao. Parabens

    Comentário por Fernando — fevereiro 7, 2014 @ 1:54 pm


RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

%d blogueiros gostam disto: