Voor een goede oplossing moet u ofwel uw database-ontwerp normaliseren of, behalve dat, overweeg zoeken in volledige tekst .
Gebruik voor een snelle oplossing van het probleem een overeenkomst voor reguliere expressies (~
)
of drie simpele LIKE
uitdrukkingen:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Of:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Of gebruik ~*
of ILIKE
voor hoofdletterongevoelige overeenkomsten.
Aangezien een ander antwoord het voorstelde:nooit gebruik SIMILAR TO
:
- Similar TO gebruiken voor een regex ?
- Patroon komt overeen met LIKE, VERGELIJKBAAR MET of reguliere expressies in PostgreSQL