1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
-- Runs the soundex function on the last word in the string provided.
-- Words are allowed to be separated by space, comma, period, new-line
-- tab or form feed.
CREATE OR REPLACE FUNCTION end_soundex(VARCHAR) RETURNS VARCHAR
AS $_$
DECLARE
tempString VARCHAR;
BEGIN
tempString := substring($1, E'[ ,.\n\t\f]([a-zA-Z0-9]*)$');
IF tempString IS NOT NULL THEN
tempString := @extschema:fuzzystrmatch@.soundex(tempString);
ELSE
tempString := @extschema:fuzzystrmatch@.soundex($1);
END IF;
return tempString;
END;
$_$ LANGUAGE plpgsql IMMUTABLE;
|