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