PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Caractère générique PostgreSQL LIKE pour n'importe lequel d'une liste de mots

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.