如何在 MySQL REGEXP 子句中转义括号并仅显示带括号的特定值?
mysqlmysqli database更新于 2024/1/9 2:57:00
首先我们创建一个表 −
mysql> create table DemoTable1908 ( Code text ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable1908 values('MySQL(1)Database'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1908 values('MongoDB 2 Database'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1908 values('MySQL(3)Database'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1908 values('SQL Server(10)Database'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1908 values('MySQL 8 Database'); Query OK, 1 row affected (0.00 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1908;
这将产生以下输出 −
+------------------------+ | Code | +------------------------+ | MySQL(1)Database | | MongoDB 2 Database | | MySQL(3)Database | | SQL Server(10)Database | | MySQL 8 Database | +------------------------+ 5 rows in set (0.00 sec)
以下查询用于转义 REGEXP 子句中的括号,并仅显示带有 () 的括号值 −
mysql> select * from DemoTable1908 where Code regexp '^MySQL[(][0-9][)]Database';
这将产生以下输出 −
+------------------+ | Code | +------------------+ | MySQL(1)Database | | MySQL(3)Database | +------------------+ 2 rows in set (0.00 sec)