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

Làm cách nào để tìm kiếm các chuỗi cụ thể giữa các giá trị được phân tách bằng dấu phẩy trong MySQL?

Đối với điều này, hãy sử dụng REGEXP. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1902
   (
   Subjects text
   );
Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1902 values('MongoDB,Java,Python');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1902 values('SQL Server,MySQL,PL/SQL');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1902 values('Hibernate,Spring,JPA');
Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1902;

Điều này sẽ tạo ra kết quả sau -

+-------------------------+
| Subjects                |
+-------------------------+
| MongoDB,Java,Python     |
| SQL Server,MySQL,PL/SQL |
| Hibernate,Spring,JPA    |
+-------------------------+
3 rows in set (0.00 sec)

Đây là truy vấn để tìm kiếm các chuỗi cụ thể giữa các giá trị được phân tách bằng dấu phẩy trong MySQL -

mysql> select * from DemoTable1902
   where Subjects regexp '(^|.*,)MySQL(,.*|$)';

Điều này sẽ tạo ra kết quả sau -

+-------------------------+
| Subjects                |
+-------------------------+
| SQL Server,MySQL,PL/SQL |
+-------------------------+
1 row in set (0.00 sec)