From: Galen Charlton Date: Fri, 8 Mar 2013 18:20:47 +0000 (-0500) Subject: when parsing state from city, anchor pattern on right X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=commitdiff_plain;h=a10d65c8040afbaa527ab930802222663d5be87e when parsing state from city, anchor pattern on right This avoids "ANCHOR POINT AK" from becoming {"ANCHORINT", "AK"} Signed-off-by: Galen Charlton --- diff --git a/sql/base/base.sql b/sql/base/base.sql index e18c004..751ce72 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -365,9 +365,9 @@ CREATE OR REPLACE FUNCTION migration_tools.address_parse_out_citystatezip (TEXT) state := REGEXP_REPLACE( city_state_zip, E'^(.*),(.*)$', E'\\2'); city := REGEXP_REPLACE( city_state_zip, E'^(.*),(.*)$', E'\\1'); ELSE - IF city_state_zip ~ E'\\s+[A-Z][A-Z]\\s*' THEN - state := REGEXP_REPLACE( city_state_zip, E'^.*,?\\s+([A-Z][A-Z])\\s*.*$', E'\\1' ); - city := REGEXP_REPLACE( city_state_zip, E'^(.*?),?\\s+[A-Z][A-Z](\\s*.*)$', E'\\1\\2' ); + IF city_state_zip ~ E'\\s+[A-Z][A-Z]\\s*$' THEN + state := REGEXP_REPLACE( city_state_zip, E'^.*,?\\s+([A-Z][A-Z])\\s*$', E'\\1' ); + city := REGEXP_REPLACE( city_state_zip, E'^(.*?),?\\s+[A-Z][A-Z](\\s*)$', E'\\1\\2' ); ELSE IF city_state_zip ~ E'^\\S+$' THEN city := city_state_zip;