ใช้ฟังก์ชัน FIND_IN_SET() เพื่อค้นหาค่าตัวเลขในคอลัมน์ที่เก็บตัวเลขคั่นด้วยคอมมา
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (
CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(20),
CustomerAllProductPrice TEXT
);
mysql> INSERT INTO DemoTable(CustomerName, CustomerAllProductPrice) VALUES
('Chris', '245,345,678,90,45,56,78'),
('Chris', '98,99,90,56,77'),
('David', '1000,2000,4000,56000');
ดูข้อมูล
mysql> SELECT * FROM DemoTable;
+------------+--------------+-------------------------+
| CustomerId | CustomerName | CustomerAllProductPrice |
+------------+--------------+-------------------------+
| 1 | Chris | 245,345,678,90,45,56,78 |
| 2 | Chris | 98,99,90,56,77 |
| 3 | David | 1000,2000,4000,56000 |
+------------+--------------+-------------------------+
ค้นหาแถวที่มีเลข 4000
mysql> SELECT * FROM DemoTable
-> WHERE FIND_IN_SET('4000', CustomerAllProductPrice);
ผลลัพธ์
+------------+--------------+-------------------------+
| CustomerId | CustomerName | CustomerAllProductPrice |
+------------+--------------+-------------------------+
| 3 | David | 1000,2000,4000,56000 |
+------------+--------------+-------------------------+
หมายเหตุ: FIND_IN_SET ค้นหาค่าที่ตรงกันทุกตัวอักษร (exact match) ไม่ใช่ substring search