本文介绍在MySQL的SQL语法中,使用regexp和not regexp来进行正则匹配。
先往test表中插入一条数据,这条数据的t_name字段的值是以“1”结尾的。我们等会儿要用正则表达式来匹配这个以“1”结尾的t_name:
mysql> insert into test (t_name,t_password,t_birth) values(
-> 'myname1','0123456789012345678911','1990-1-1');
Query OK, 1 row affected (0.02 sec)
现在数据库中有三条记录,t_name分别为:
mysql> select t_name from test;
+---------+
| t_name |
+---------+
| name1 |
| name2 |
| myname1 |
+---------+
现在我们使用regexp来匹配出所有以“1”结尾的t_name记录,SQL如下:
mysql> select * from test where t_name regexp '1$';
+------+---------+----------------------------------+------------+
| t_id | t_name | t_password | t_birth |
+------+---------+----------------------------------+------------+
| 1 | name1 | 12345678901234567890123456789012 | NULL |
| 3 | myname1 | 0123456789012345678911 | 1990-01-01 |
+------+---------+----------------------------------+------------+
2 rows in set (0.00 sec)
not regexp我们暂时就不演示了,原理上与regexp正好相反。关于mysql中正则达式本身的写法,我们后面再单独讨论。
关于MySQL中的SQL正则匹配regexp和not regexp,本文就介绍这么多,希望对大家有所帮助,谢谢!