Per una soluzione adeguata, normalizza la progettazione del database oppure, salvo ciò, considera la ricerca full-text .
Per una rapida soluzione al problema in questione, utilizzare un corrispondenza espressione regolare (~
)
o tre semplici LIKE
espressioni:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Oppure:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Oppure usa ~*
o LIKE
per la corrispondenza senza distinzione tra maiuscole e minuscole.
Poiché un'altra risposta l'ha suggerito:mai usa SIMILAR TO
:
- Utilizzo di SIMILAR TO per una regex ?
- Corrispondenza del modello con LIKE, SIMILAR TO o espressioni regolari in PostgreSQL