PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Truy vấn SQL để khớp một trong nhiều chuỗi

Để 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 :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails không chuyển đổi múi giờ (PostgreSQL)

  2. Kết nối Ứng dụng iPhone với PostgreSQL bằng Libpq

  3. Thả ràng buộc theo tên trong Postgresql

  4. Chuyển django RawQuerySet thành Queryset

  5. Sử dụng PostgresSQL INTERVAL trong SQLAlchemy nơi thời lượng được lưu trữ động trong DB và không phải là một tham số