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

Consulta SQL para corresponder a uma das várias strings


Para uma solução adequada, normalize o design do seu banco de dados ou, exceto isso, considere a pesquisa de texto completo .

Para uma solução rápida para o problema em questão, use um correspondência de expressão regular (~ ) ou três simples LIKE expressões:
SELECT *
FROM   subscriberfields 
WHERE  name ~ '(Khairpur|Islamabad|Karachi)';

Ou:
...
WHERE (name LIKE '%Khairpur%'
    OR name LIKE '%Islamabad%'
    OR name LIKE '%Karachi%')

Ou use ~* ou ILIKE para correspondência que não diferencia maiúsculas de minúsculas.

Como outra resposta sugeriu:nunca use SIMILAR TO :