Thay vì IN (), hãy sử dụng FIND_IN_SET để tìm kiếm giữa các giá trị được phân tách bằng dấu phẩy trong một trường. Đầu tiên chúng ta hãy tạo một bảng -
mysql> tạo bảng DemoTable -> (-> ListOfValues text ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,56 giây)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> chèn vào các giá trị DemoTable ('10 | 20 | 30 | 40 | 50 | 60 | 100 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * từ DemoTable;
Điều này sẽ tạo ra kết quả sau -
+ ----------------------- + | ListOfValues | + ----------------------- + | 10 | 20 | 30 | 40 | 50 | 60 | 100 | + ----------------------- + 1 hàng trong bộ (0,00 giây)Sau đây là truy vấn để tìm kiếm giữa các giá trị được phân tách bằng dấu phẩy trong một trường -
mysql> chọn FIND_IN_SET (100, thay thế (ListOfValues, '|', ',')) từ DemoTable;Điều này sẽ tạo ra kết quả sau -
+ ---------------------------------------------- --- + | FIND_IN_SET (100, thay thế (ListOfValues, '|', ',')) | + ------------------------------- ------------------ + | 7 | + ----------------------------------------------- - + 1 hàng trong bộ (0,04 giây)