MySQL 如何从MySQL列中提取带有反斜杠的值,例如’a\b’?
借助RLIKE操作符,我们可以执行这种类型的匹配。关键在于在MySQL查询中使用反斜杠的数量。下面的示例将更清晰地说明这一点 –
我们有以下表,具有像’a\b’和’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)
现在假设我们要匹配值’a\b’,那么我们需要编写八个反斜杠。这是因为第二个反斜杠没有被第一个转义,所以为了比较两个字母,我们需要将反斜杠加倍,但是由于我们在从MySQL字符串查询表时查询一个字符串,所以这个加倍发生了两次-一次在客户端,一次在数据库中。因此我们需要像下面的查询一样使用四次反斜杠 –
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)
阅读更多:MySQL 教程