Computer >> Máy Tính >  >> Lập trình >> MySQL

Kiểm tra xem giá trị có tồn tại trong danh sách được phân tách bằng dấu phẩy trong MySQL không?

Để kiểm tra xem giá trị có tồn tại trong danh sách được phân tách bằng dấu phẩy hay không, bạn có thể sử dụng hàm FIND_IN_SET ().

Cú pháp như sau

SELECT *FROM yourTablename WHERE FIND_IN_SET(‘yourValue’,yourColumnName) > 0;

Đầu tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table existInCommaSeparatedList
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Name varchar(200)
   - > );
Query OK, 0 rows affected (0.68 sec)

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng lệnh insert.

Truy vấn như sau

mysql> insert into existInCommaSeparatedList(Name) values('John,Carol,Sam,Larry,Bob,David');
Query OK, 1 row affected (0.35 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Maxwell,Chris,James');
Query OK, 1 row affected (0.14 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Robert,Ramit');
Query OK, 1 row affected (0.34 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from existInCommaSeparatedList;

Sau đây là kết quả

+----+--------------------------------+
| Id | Name                           |
+----+--------------------------------+
|  1 | John,Carol,Sam,Larry,Bob,David |
|  2 | Maxwell,Chris,James            |
|  3 | Robert,Ramit                   |
+----+--------------------------------+
3 rows in set (0.00 sec)

Đây là truy vấn để kiểm tra xem giá trị có tồn tại trong danh sách được phân tách bằng dấu phẩy hay không. Chúng tôi đang kiểm tra trường có văn bản được phân tách bằng dấu phẩy “Robert”

mysql> SELECT *FROM existInCommaSeparatedList WHERE FIND_IN_SET('Robert',Name) > 0;

Sau đây là kết quả

+----+--------------+
| Id | Name         |
+----+--------------+
|  3 | Robert,Ramit |
+----+--------------+
1 row in set (0.00 sec)