例如,在一个字段中查询出包含两个连续的‘0’的数据。
举例:
啊啊00啊啊 。正确啊啊000爱爱爱。错误
执行如下的查询:
复制代码 代码示例:
mysql> select * from stud ;
+----+------------+
| id | name |
+----+------------+
| 1 | 小命00111 |
| 2 | 小命00011 |
| 3 | 邵志刚0011 |
+----+------------+
mysql> select * from stud t1 where (SELECT name REGEXP '^[^0]*0{2}[^0]*$') = 1 ;
+----+------------+
| id | name |
+----+------------+
| 1 | 小命00111 |
| 3 | 邵志刚0011 |
+----+------------+
上面语句中,SELECT name REGEXP '^[^0]*0{2}[^0]*$' 这句话 的返回值。如果匹配正确返回1,错误返回0.
使用正则表达式执行:
复制代码 代码示例:
mysql> SELECT 'aa111aaaaaaaaa00' REGEXP '^[^0]*0{2}[^0]*$';
+------------------------------------------------------------+
| 'aa111aaaaaaaaa00' REGEXP '^[^0]*0{2}[^0]*$' |
+------------------------------------------------------------+
| 1 |
+------------------------------------------------------------+
也可以取别名。
复制代码 代码示例:
mysql> SELECT 'aa111aaaaaaaaa00' REGEXP '^[^0]*0{2}[^0]*$' n ;
+---+
| n |
+---+
| 1 |
+---+
由此可见,可以将mysql的正则查询语句作为一个列来处理,对于输出一定格式的数据很有帮助哦。