Re: Help with a not match
"Campbell, Lance" <[email protected]> Fri, 9 Nov 2018 17:59:07 +0000
| Newsgroups | gmane.comp.db.postgresql.sql |
|---|---|
| Message-ID | <[email protected]> |
Very helpful. I am almost there. I created this SQL: SELECT regexp_matches(content, '/(?!files/'||id||'/)(files/\d+/)/', 'g') FROM tablea I get no matches. My guess is I am close but slightly off on the syntax. Lance On 11/9/18, 11:22 AM, "David G. Johnston" <[email protected]> wrote: The convention on these lists is to bottom-post and trim unnecessary context. On Fri, Nov 9, 2018 at 10:08 AM Campbell, Lance <[email protected]> wrote: > The SQL you provided is the opposite of what I was looking for. Thanks though. See if these help you: SELECT * FROM regexp_matches('/123/ /456/', '/(?!123)(\d+)/', 'g'); SELECT * FROM regexp_matches('/123/', '/(?!123)(\d+)/', 'g'); SELECT * FROM regexp_matches('/456/', '/(?!123)(\d+)/', 'g'); Your main problem is the scenario where the desired string does exist but then others that are unexpected exist as well. Without that its as simple as locating ones with the correct string and then negating the result. You may find you want to use multiple tests and combine them with AND/OR. David J.