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

Truy vấn MySQL:Khớp giá trị được phân tách bằng dấu phẩy với cột chứa chuỗi được phân tách bằng dấu phẩy

Nó có thể được thực hiện với regexp như @ 1000111 đã nói, nhưng với regexp phức tạp hơn. Hãy nhìn vào cái này, ví dụ:

(^|,)(13|15)(,|$)

Điều này sẽ không khớp với 13 từ 135 hoặc 1 từ 13, v.v. Ví dụ:đối với số 13, điều này sẽ khớp với các chuỗi tiếp theo:

1,13,2
13,1,2
1,13
13,2
13

Nhưng sẽ không khớp với những

1,135,2
131,2
1,113

Và đây là truy vấn:

SET @search = '13,15';

SELECT *
FROM test
WHERE interests REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của hàm LPAD () trong MySQL

  2. làm thế nào để lấy thông tin chi tiết từ nhiều bảng?

  3. Tính tuổi dựa trên ngày sinh

  4. Lưu trữ dữ liệu trong MySQL dưới dạng JSON

  5. Cách quản lý cơ sở dữ liệu với phpMyAdmin