Aby uzyskać właściwe rozwiązanie, albo znormalizuj projekt bazy danych lub, poza tym, rozważ wyszukiwanie pełnotekstowe .
Aby szybko rozwiązać problem, użyj dopasowanie wyrażenia regularnego (~ )
lub trzy proste LIKE
wyrażenia:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Lub:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Lub użyj ~* lub ILIKE dla dopasowania bez rozróżniania wielkości liter.
Ponieważ sugerowała to inna odpowiedź:nigdy użyj SIMILAR TO :
- Korzystanie z PODOBNEGO TO dla wyrażenia regularnego ?
- Dopasowywanie wzorców za pomocą LIKE, SIMILAR TO lub wyrażeń regularnych w PostgreSQL