Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tìm kiếm các ký tự cụ thể trong chuỗi với MySQL REGEXP

Yêu cầu

Tìm các chuỗi chứa theo thứ tự các ký tự J, A, V, A (tức là chứa chuỗi con "JAVA" nhưng cho phép có ký tự khác xen giữa).

1. Tạo bảng

mysql> create table DemoTable (
    Value varchar(50)
);
Query OK, 0 rows affected (3.92 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable values('XYSJGHAKLMVDFFSA');
mysql> insert into DemoTable values('PQRSTJAVAL');
mysql> insert into DemoTable values('SJATUVAK');
mysql> insert into DemoTable values('JSTUVA');

3. Xem dữ liệu

mysql> select * from DemoTable;
+------------------+
| Value            |
+------------------+
| XYSJGHAKLMVDFFSA |
| PQRSTJAVAL       |
| SJATUVAK         |
| JSTUVA           |
+------------------+
4 rows in set (0.00 sec)

4. Truy vấn REGEXP

mysql> select * from DemoTable where Value REGEXP '.*J.*A.*V.*A';

Kết quả:

+------------------+
| Value            |
+------------------+
| XYSJGHAKLMVDFFSA |
| PQRSTJAVAL       |
| SJATUVAK         |
+------------------+
3 rows in set (0.00 sec)

Giải thích: Mẫu .*J.*A.*V.*A khớp chuỗi có J, sau đó A, sau đó V, sau đó A (có thể có ký tự khác xen giữa).