本文介绍在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,本文就介绍这么多,希望对大家有所帮助,谢谢!

03-14 02:38