如何在 MySQL REGEXP 子句中轉義括號,僅顯示特定值的括號?


讓我們先建立一個表 −

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)

更新於: 2019 年 12 月 30 日

727 次觀看

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.