From 896e0195b7e2344fc3e86337a495058dc41dca02 Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Mon, 28 Dec 2009 17:34:46 +0000 Subject: [PATCH] Script now handles Jr and Sr without a trailing period, and the suffix IV. --- sql/base/base.sql | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index 745e538..e5c5d2f 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -302,10 +302,18 @@ CREATE OR REPLACE FUNCTION migration_tools.name_parse_out_last_comma_prefix_firs suffix := 'Jr.'; temp := REGEXP_REPLACE( temp, E'JR\.?\\s*', '', 'i' ); END IF; + IF temp ilike '%JR,%' THEN + suffix := 'Jr.'; + temp := REGEXP_REPLACE( temp, E'JR,\\s*', ',', 'i' ); + END IF; IF temp ilike '%SR%' THEN suffix := 'Sr.'; temp := REGEXP_REPLACE( temp, E'SR\.?\\s*', '', 'i' ); END IF; + IF temp ilike '%SR,%' THEN + suffix := 'Sr.'; + temp := REGEXP_REPLACE( temp, E'SR,\\s*', ',', 'i' ); + END IF; IF temp ~ E'\\sII$' THEN suffix := 'II'; temp := REGEXP_REPLACE( temp, E'II$', '', 'i' ); @@ -314,6 +322,10 @@ CREATE OR REPLACE FUNCTION migration_tools.name_parse_out_last_comma_prefix_firs suffix := 'III'; temp := REGEXP_REPLACE( temp, E'III$', '', 'i' ); END IF; + IF temp ~ E'\\sIV$' THEN + suffix := 'IV'; + temp := REGEXP_REPLACE( temp, E'IV$', '', 'i' ); + END IF; family_name := BTRIM( REGEXP_REPLACE(temp,E'^([^,]*)\\s*,.*$',E'\\1') ); first_given_name := BTRIM( CASE WHEN temp ~ ',' THEN REGEXP_REPLACE(temp,E'^[^,]*\\s*,\\s*([^,\\s]*)\\s*.*$',E'\\1') ELSE 'N/A' END ); -- 1.7.2.5