如何从 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)
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP