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

Escape dấu ngoặc đơn trong REGEXP MySQL để lọc giá trị có dấu ngoặc

Trong REGEXP, dấu ngoặc đơn ( ) là ký tự đặc biệt (grouping). Để khớp dấu ngoặc đơn thật, escape bằng \\( \\) hoặc dùng character class [(] [)].

Ví dụ minh họa

Tạo bảng mã code có dấu ngoặc:

mysql> CREATE TABLE DemoTable1908 (Code TEXT);
mysql> INSERT INTO DemoTable1908 VALUES('MySQL(1)Database'),('MongoDB 2 Database'),('MySQL(3)Database'),('SQL Server(10)Database'),('MySQL 8 Database');

Lọc pattern MySQL(1 chữ số)Database:

mysql> SELECT * FROM DemoTable1908 WHERE Code REGEXP '^MySQL[(][0-9][)]Database';

Kết quả:

+------------------+
| Code             |
+------------------+
| MySQL(1)Database |
| MySQL(3)Database |
+------------------+

Giải thích: [(] khớp ký tự '(', [0-9] khớp 1 chữ số, [)] khớp ')'. Cách này đọc dễ hơn \\([0-9]\\).