Advertisement
joaofabioma

Format cpf anom

Jun 24th, 2025 (edited)
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PostgreSQL 0.68 KB | Source Code | 0 0
  1. CREATE OR REPLACE FUNCTION format_cpf(pcpf_input text, panon bool DEFAULT FALSE) RETURNS text AS $$
  2. DECLARE
  3.     v_cpf_clean text;
  4. BEGIN
  5.   v_cpf_clean := regexp_replace(pcpf_input, '[^0-9]', '', 'g');
  6.  
  7.   IF length(v_cpf_clean) != 11 THEN
  8.     return v_cpf_clean;
  9.   END IF;
  10.  
  11.   IF(panon)THEN
  12.       RETURN format('***.%s.%s-**',
  13.                    substring(v_cpf_clean, 4, 3),
  14.                    substring(v_cpf_clean, 7, 3));
  15.   END IF;
  16.   RETURN format('%s.%s.%s-%s',
  17.                substring(v_cpf_clean, 1, 3),
  18.                substring(v_cpf_clean, 4, 3),
  19.                substring(v_cpf_clean, 7, 3),
  20.                substring(v_cpf_clean, 10, 2));
  21. END;
  22. $$ LANGUAGE plpgsql IMMUTABLE;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement