mysql中REPLACE函数如何使用_mysql REPLACE字符串函数

来源:这里教程网 时间:2026-02-28 20:21:06 作者:

MySQL 中的 REPLACE() 函数用于在字符串中替换指定的子字符串。它不是用来替代 INSERT 或 UPDATE 的语句,而是一个字符串处理函数,常用于查询或更新字段内容时做文本替换。

基本语法

REPLACE(str, from_str, to_str)

说明:

str:原始字符串 from_str:需要被替换的子字符串 to_str:用来替换的新字符串

函数返回将 str 中所有出现的 from_str 替换为 to_str 后的结果字符串。

使用示例

1. 直接在 SELECT 中使用:

SELECT REPLACE('Hello World', 'World', 'MySQL');

结果:'Hello MySQL'

2. 替换字段中的部分内容:

假设有一张用户表 user,email 字段中有一些旧域名 needo.com,想替换成 newdo.com:

SELECT email, REPLACE(email, 'needo.com', 'newdo.com') AS new_email FROM user;

3. 在 UPDATE 语句中实际更新数据:

UPDATE user SET email = REPLACE(email, 'needo.com', 'newdo.com') WHERE email LIKE '%needo.com%';

这条语句会把所有 email 中包含 needo.com 的记录替换成 newdo.com。

注意事项

REPLACE() 区分大小写(因为底层依赖字段的字符集和排序规则) 如果 from_str 不存在,原字符串 str 不变 所有匹配的 from_str 都会被替换,不是只替换第一个 该函数可用于 CHAR、VARCHAR、TEXT 等文本类型字段

与 REPLACE INTO 的区别

注意不要混淆:

REPLACE() 是字符串函数,用于替换文本内容 REPLACE INTO 是一种 SQL 语句,类似 INSERT,但会先删除已存在的主键或唯一索引记录再插入新数据

两者用途完全不同,别名相似容易误解。

基本上就这些。只要记住 REPLACE() 是“找并替换文本”,就能正确使用。

相关推荐