如何在 MySQL 中只替换字符串中的第一个重复值


为此,你可以使用 REGEXP_REPLACE()。假设我们的字符串为 -

This is my first MySQL query. This is the first tutorial. I am learning for the first time.

我们需要只替换特定单词(比如“first”)的第一个出现。输出应为 -

This is my second MySQL query. This is the first tutorial. I am learning for the first time.

让我们创建一个表 -

mysql> create table demo26
−> (
−> value text
−> );
Query OK, 0 rows affected (2.04 sec)

使用插入命令向表中插入一些记录 -

mysql> insert into demo26 values('This is my first MySQL query. This is the first tutorial. I am learning for the first time.');
Query OK, 1 row affected (0.10 sec)

使用 select 语句从表中显示记录 -

mysql> select *from demo26;

这将产生以下输出 -

+---------------------------------------------------------------------------------------------+
| value                                                                                       |
+---------------------------------------------------------------------------------------------+
| This is my first MySQL query. This is the first tutorial. I am learning for the first time. |
+---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

以下是只替换第一个出现的查询 -

mysql> update demo26
−> set value = REGEXP_REPLACE(value, 'first', 'second', 1, 1 ) ;
Query OK, 1 row affected (0.19 sec)
Rows matched: 1 Changed: 1 Warnings: 0

使用 select 语句从表中显示记录 -

mysql> select *from demo26;

这将产生以下输出 -

+----------------------------------------------------------------------------------------------+
| value                                                                                        |
+----------------------------------------------------------------------------------------------+
| This is my second MySQL query. This is the first tutorial. I am learning for the first time. |
+----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

更新于: 19-11-2020

325 次浏览

开启您的职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.