forked from datacathy/Detroit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmatches.sql
18 lines (18 loc) · 1.02 KB
/
matches.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE OR REPLACE FUNCTION matches(s1 text, s2 text) RETURNS BOOLEAN AS $$
BEGIN
IF (trim(TRAILING ' ST' FROM $1) = $2) OR (trim(TRAILING ' ST' FROM $2) = $1) OR
(trim(TRAILING ' BLVD' FROM $1) = $2) OR (trim(TRAILING ' BLVD' FROM $2) = $1) OR
(trim(TRAILING ' RD' FROM $1) = $2) OR (trim(TRAILING ' RD' FROM $2) = $1) OR
(trim(TRAILING ' AVE' FROM $1) = $2) OR (trim(TRAILING ' AVE' FROM $2) = $1) OR
(trim(TRAILING ' DR' FROM $1) = $2) OR (trim(TRAILING ' DR' FROM $2) = $1) OR
(trim(TRAILING ' STREET' FROM $1) = $2) OR (trim(TRAILING ' STREET' FROM $2) = $1) OR
(trim(TRAILING ' ROAD' FROM $1) = $2) OR (trim(TRAILING ' ROAD' FROM $2) = $1) OR
(trim(TRAILING ' DRIVE' FROM $1) = $2) OR (trim(TRAILING ' DRIVE' FROM $2) = $1) OR
(trim(TRAILING ' BOULEVARD' FROM $1) = $2) OR (trim(TRAILING ' BOULEVARD' FROM $2) = $1) OR
(trim(TRAILING ' AVENUE' FROM $1) = $2) OR (trim(TRAILING ' AVENUE' FROM $2) = $1) OR
($1 = $2)
THEN RETURN TRUE;
ELSE RETURN FALSE;
END IF;
END;
$$ LANGUAGE plpgsql;