包含字串、數字和特殊字元的 MySQL 正則表示式以使用列值更新表


為此,請使用帶有 REGEXP 的 UPDATE 命令。我們先建立一個表 -

mysql> create table DemoTable2023
   -> (
   -> StreetNumber varchar(100)
   -> );
Query OK, 0 rows affected (0.59 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable2023 values('7');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable2023 values('1');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable2023 values('AUS-100');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable2023 values('US-101');
Query OK, 1 row affected (0.11 sec)

使用 select 語句顯示錶中的所有記錄 -

mysql> select *from DemoTable2023;

這將產生以下輸出 -

+--------------+
| StreetNumber |
+--------------+
| 7            |
| 1            |
| AUS-100      |
| US-101       |
+--------------+
4 rows in set (0.00 sec)

這是使用正則表示式更新表的查詢 -

mysql> update DemoTable2023
   -> set StreetNumber=concat('Street',StreetNumber)
   -> where StreetNumber regexp'^[0-9]{1,2}$';
Query OK, 2 rows affected (0.19 sec)
Rows matched: 2 Changed: 2 Warnings: 0

讓我們再次檢查表記錄 -

mysql> select *from DemoTable2023;

這將產生以下輸出 -

+--------------+
| StreetNumber |
+--------------+
| Street7      |
| Street1      |
| AUS-100      |
| US-101       |
+--------------+
4 rows in set (0.00 sec)

更新於: 06-Apr-2020

641 次瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.