Pour une solution appropriée, soit normaliser la conception de votre base de données ou, à défaut, envisagez la recherche en texte intégral .
Pour une solution rapide au problème actuel, utilisez un correspondance d'expression régulière (~
)
ou trois simples LIKE
expression :
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Ou :
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Ou utilisez ~*
ou ILIKE
pour une correspondance insensible à la casse.
Puisqu'une autre réponse le suggérait :jamais utilisez SIMILAR TO
:
- Utilisation de SIMILAR TO pour une regex ?
- Correspondance de modèle avec LIKE, SIMILAR TO ou des expressions régulières dans PostgreSQL