如何使用 MySQL replace() 替換多條記錄中的字串?


replace() 函式可用於將字串替換為另一個字串。為了理解 replace(),我們需要建立一個包含一些記錄的表。以下是用於建立表的查詢。

mysql> create table replaceDemo
   -> (
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.55 sec)

透過 INSERT 命令插入一些記錄。用於插入記錄的查詢如下:

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

mysql> insert into replaceDemo values('Demo');
Query OK, 1 row affected (0.16 sec)

mysql> insert into replaceDemo values('Smith');
Query OK, 1 row affected (0.13 sec)

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

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

讓我們查看錶“replaceDemo”中存在的記錄。查詢如下。

mysql> select *from replaceDemo;

以下是一個示例。

+-------+
| Name  |
+-------+
| John  |
| Demo  |
| Smith |
| Demo  |
| Carol |
+-------+
5 rows in set (0.00 sec)

上面,我在表中兩次輸入 Demo 值,我想將“Demo”替換為名稱“Amit”。為此,我們可以使用 MySQL 的 replace() 函式。查詢如下:

mysql> UPDATE replaceDemo
   -> SET Name = REPLACE (Name, 'Demo', 'Amit')
   -> WHERE Name LIKE 'Demo';
Query OK, 2 rows affected (0.18 sec)
Rows matched: 2  Changed: 2  Warnings: 0

要檢查名稱“Demo”是否已被名稱“Amit”替換,以下為查詢。

mysql> select *from replaceDemo;

以下是輸出。

+-------+
| Name  |
+-------+
| John  |
| Ramit |
| Smith |
| Amit |
| Carol |
+-------+
5 rows in set (0.00 sec)

如你所見,在上面的輸出中,我已將名稱“Demo”更改為“Amit”。

更新日期:2019-07-30

1K+ 瀏覽

職業生涯一觸即發

完成課程即可獲得認證

開始
廣告
© . All rights reserved.