Mascara para CPF no padrão LGPD

parent 023eabb2
Showing with 27 additions and 0 deletions
-- drop function if exists public.mascara_cpf_lgpd(TEXT)
CREATE OR REPLACE FUNCTION public.mascara_cpf_lgpd(in_cpf TEXT)
RETURNS TEXT AS $$
DECLARE
clean_cpf TEXT;
result TEXT;
BEGIN
clean_cpf := regexp_replace(in_cpf, '[^0-9]', '', 'g');
IF char_length(clean_cpf) <> 11 THEN
RAISE EXCEPTION 'CPF inválido. Deve conter 11 dígitos.';
END IF;
result := substring(clean_cpf FROM 1 FOR 3) || '.XXX.XXX-' || substring(clean_cpf FROM 10 FOR 2);
RETURN result;
END;
$$ LANGUAGE plpgsql;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment