--=========================================================================== -- Copywright 2002, joel crainshaw & chet west --============================================================================= -- DESCRIPTION -- Formats a US Postal Code --============================================================================= -- MODIFICATION HISTORY -- Person Date Comments -- --------- ---------- -------------------------------------------- -- Chet 09/17/2001 Initial Creationnn --============================================================================= FUNCTION fmt_postal_code ( p_postal_code VARCHAR2 ,p_country VARCHAR2 DEFAULT 'USA' ) RETURN VARCHAR2 IS v_postal_code VARCHAR2 (15); v_retval VARCHAR2 (15); BEGIN v_postal_code := nosymbols (p_postal_code, LENGTH (v_postal_code)); IF UPPER (p_country) = 'USA' THEN IF LENGTH (v_postal_code) > 5 THEN v_retval := SUBSTR (v_postal_code, 1, 5) || '-' || SUBSTR ( v_postal_code ,6 ); ELSE v_retval := v_postal_code; END IF; ELSIF UPPER (p_country) = 'CA' THEN v_retval := UPPER ( SUBSTR (v_postal_code, 1, 3) || ' ' || SUBSTR (v_postal_code, 4) ); ELSE v_retval := v_postal_code; END IF; RETURN v_retval; END fmt_postal_code;