Comparing results of regexp_matches
| От | Seamus Abshere |
|---|---|
| Тема | Comparing results of regexp_matches |
| Дата | |
| Msg-id | 1416181955.4001205.191714341.29494AC6@webmail.messagingengine.com обсуждение исходный текст |
| Ответы |
Re: Comparing results of regexp_matches
|
| Список | pgsql-general |
hi,
I want to check if two similar-looking addresses have the same numbered
street, like 20th versus 21st.
2033 21st Ave S
2033 20th Ave S (they're different)
I get an error:
# select regexp_matches('2033 21st Ave S', '\m(\d+(?:st|th))\M') =
regexp_matches('2033 20th Ave S', '\m(\d+(?:st|th))\M');
ERROR: functions and operators can take at most one set argument
I've tried `()[1] == ()[1]`, etc. but the only thing that works is
making it into 2 subqueries:
# select (select * from regexp_matches('2033 21st Ave S',
'\m(\d+(?:st|th))\M')) = (select * from regexp_matches('2033 20th
Ave S', '\m(\d+(?:st|th))\M'));
?column?
----------
f
(1 row)
Is there a more elegant way to compare the results of
`regexp_matches()`?
Thanks,
Seamus
--
Seamus Abshere, SCEA
https://github.com/seamusabshere
В списке pgsql-general по дате отправления: