PostgreSQL ondersteunt ook volledige POSIX reguliere expressies:
select * from table where value ~* 'foo|bar|baz';
De ~*
is voor een hoofdletterongevoelige overeenkomst, ~
is hoofdlettergevoelig.
Een andere optie is om ANY te gebruiken:
select * from table where value like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);
U kunt ANY gebruiken met elke operator die een boolean oplevert. Ik vermoed dat de regex-opties sneller zouden zijn, maar ANY is een handig hulpmiddel om in je gereedschapskist te hebben.