Ir para o conteúdo principal

Função - Formata CNPJ

SQL de criação: 

create or replace function formata_cnpj (xcnpj in varchar) returns varchar(18) as
$body$
declare
  retorno varchar(18);
begin

  select substr(lpad(xcnpj, 14, '0'),1,2) || '.' ||
         substr(lpad(xcnpj, 14, '0'),3,3) || '.' ||
         substr(lpad(xcnpj, 14, '0'),6,3) || '/' ||
         substr(lpad(xcnpj, 14, '0'),9,4) || '-' ||
         substr(lpad(xcnpj, 14, '0'),13,2) into retorno;

  return retorno;
end;
$body$
language plpgsql;

Chamada da função: 

select formata_cnpj('12345678000910')

Retorno: 

12.345.678/0009-10