Pro správné řešení buď normalizujte návrh databáze nebo, pokud to není možné, zvažte fulltextové vyhledávání .
Pro rychlé řešení problému použijte shoda regulárního výrazu (~
)
nebo tři jednoduché ILIKE
výrazy:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Nebo:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Nebo použijte ~*
nebo ILIKE
pro párování bez rozlišení velkých a malých písmen.
Protože to navrhla jiná odpověď:nikdy použijte SIMILAR TO
:
- Použití PODOBNÉ pro regulární výraz ?
- Shoda vzorů s LIKE, SIMILAR TO nebo regulárními výrazy v PostgreSQL