我們可以在 MySQL 中使用 str_replace 嗎?


MySQL 中的 str_replace 版本是 replace() 函式。我們首先建立一個表來了解該函式 −

mysql> create table StringReplaceDemo
   −> (
   −> Id int,
   −> URL varchar(200)
   −> );
Query OK, 0 rows affected (0.38 sec)

使用 insert 命令在表中插入一些記錄。查詢如下 −

mysql> insert into StringReplaceDemo values(1001,'https://www.google.co.in');
Query OK, 1 row affected (0.09 sec)

mysql> insert into StringReplaceDemo values(1002,'https://#');
Query OK, 1 row affected (0.11 sec)

mysql> insert into StringReplaceDemo values(1003,'https://mail.google.com');
Query OK, 1 row affected (0.12 sec)

使用以下查詢顯示錶中的所有記錄 −

mysql> select *from StringReplaceDemo;

以下是輸出 −

+------+--------------------------+
| Id   | URL                      |
+------+--------------------------+
| 1001 | https://www.google.co.in |
| 1002 | https://# |
| 1003 | https://mail.google.com  |
+------+--------------------------+
3 rows in set (0.00 sec)

檢視上面的示例輸出。我們現在將單詞“mail”替換為“www”。查詢如下 −

mysql> update StringReplaceDemo set URL = replace(URL,'mail','www') where URL like '%mail%';
Query OK, 1 row affected (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 0

現在讓我們檢查單詞 mail 是否已替換。查詢如下 −

mysql> select *from StringReplaceDemo;

以下是顯示我們已成功執行替換的輸出 −

+------+--------------------------+
| Id   | URL                      |
+------+--------------------------+
| 1001 | https://www.google.co.in |
| 1002 | https://# |
| 1003 | https://www.google.com   |
+------+--------------------------+
3 rows in set (0.00 sec)

更新於:30-Jul-2019

186 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.