För en korrekt lösning, antingen normalisera din databasdesign eller, med undantag för det, överväg fulltextsökning .
För en snabb lösning på problemet, använd en matchning av reguljära uttryck (~ )
eller tre enkla LIKE
uttryck:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Eller:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Eller använd ~* eller ILIKE för skiftlägesokänslig matchning.
Eftersom ett annat svar föreslog det:aldrig använd SIMILAR TO :
- Använda LIKNANDE för ett regex ?
- Mönstermatchning med LIKE, SIMILAR TO eller reguljära uttryck i PostgreSQL