Để có giải pháp phù hợp, hãy chuẩn hóa thiết kế cơ sở dữ liệu của bạn hoặc, chặn điều đó, hãy xem xét tìm kiếm toàn văn .
Để có giải pháp nhanh chóng cho vấn đề trong tầm tay, hãy sử dụng đối sánh biểu thức chính quy (~
)
hoặc ba LIKE
đơn giản
biểu thức:
SELECT *
FROM subscriberfields
WHERE name ~ '(Khairpur|Islamabad|Karachi)';
Hoặc:
...
WHERE (name LIKE '%Khairpur%'
OR name LIKE '%Islamabad%'
OR name LIKE '%Karachi%')
Hoặc sử dụng ~*
hoặc ILIKE
để đối sánh không phân biệt chữ hoa chữ thường.
Vì một câu trả lời khác đã gợi ý nên: không bao giờ sử dụng SIMILAR TO
:
- Sử dụng TƯƠNG TỰ CHO regex ?
- Đối sánh mẫu với LIKE, SIMILAR TO hoặc biểu thức chính quy trong PostgreSQL