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