PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Curinga do PostgreSQL LIKE para qualquer uma de uma lista de palavras


O PostgreSQL também suporta expressões regulares POSIX completas:
select * from table where value ~* 'foo|bar|baz';

O ~* é para uma correspondência que não diferencia maiúsculas de minúsculas, ~ é sensível a maiúsculas e minúsculas.

Outra opção é usar QUALQUER:
select * from table where value  like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);

Você pode usar ANY com qualquer operador que produza um booleano. Eu suspeito que as opções de regex seriam mais rápidas, mas ANY é uma ferramenta útil para ter em sua caixa de ferramentas.