PostgreSQL prend également en charge les expressions régulières POSIX complètes :
select * from table where value ~* 'foo|bar|baz';
Le ~*
est pour une correspondance insensible à la casse, ~
est sensible à la casse.
Une autre option consiste à utiliser ANY :
select * from table where value like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);
Vous pouvez utiliser ANY avec n'importe quel opérateur produisant un booléen. Je soupçonne que les options regex seraient plus rapides, mais ANY est un outil utile à avoir dans votre boîte à outils.