Ir para o conteúdo principal

Função - Formata CPF

SQL de criação: 

create or replace function formata_cpf (xcpf in varchar) returns varchar(11) as
$body$
declare
  retorno varchar(14);
begin
  select substr(lpad(xcpf, 11, '0'),1,3) || '.' ||
         substr(lpad(xcpf, 11, '0'),4,3) || '.' ||
         substr(lpad(xcpf, 11, '0'),7,3) || '-' ||
         substr(lpad(xcpf, 11, '0'),10,2) into retorno;
    
  return retorno;
end;
$body$
language plpgsql;

Chamada da função: 

select formata_cpf('12345678910')

Retorno: 

123.456.789-10