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