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

Cách khớp giá trị có dấu gạch chéo ngược (như 'a\\b') từ cột MySQL

Dùng toán tử RLIKE để khớp kiểu này. Quan trọng là số lượng dấu gạch chéo trong truy vấn. Ví dụ bảng backslashes có giá trị a\b và a\\b:

mysql> select * from backslashes;
+------+-------+
| Id   | Value |
+------+-------+
|    1 | 200   |
|    2 | 300   |
|    4 | a\\b  |
|    3 | a\b   |
+------+-------+
4 rows in set (0.10 sec)

Muốn khớp a\\b (hai gạch chéo thực tế), cần viết 8 dấu gạch chéo trong truy vấn. Vì: escape một lần ở client, một lần ở database → gấp 4 lần. Truy vấn:

mysql> Select * from backslashes where value RLIKE 'a\\\\\\\\b';
+------+-------+
| Id   | Value |
+------+-------+
|    4 | a\\b  |
+------+-------+
1 row in set (0.00 sec)

mysql> Select * from backslashes where value RLIKE 'a\\\\b';
+------+-------+
| Id   | Value |
+------+-------+
|    3 | a\b   |
+------+-------+
1 row in set (0.01 sec)