REPLACE()函数用于将字符串中所有匹配的子串替换为新字符串,返回修改后的结果而不改变原数据。1. 语法为REPLACE(原字符串, 查找内容, 替换内容)。2. 可用于select、UPDATE等语句,常用于修正错误或统一格式。3. 大小写敏感且替换所有匹配项。4. 若查找内容不存在,则返回原字符串。5. 注意与REPLACE INTO语句区分,后者用于行级插入或替换。

mysql中的
REPLACE()</ p> <H3>功能说明</H3> <p><strong>REPLACE(str, from_str, to_str)</strong> 是MySQL提供的字符串处理函数,用于在指定字符串 <code>str
中查找所有出现的子串 from_str,并将其全部替换为新字符串 to_str。这个函数不会修改原始数据,而是返回替换后的新字符串。
它常用于数据清洗、文本更新等场景,比如修正拼写错误、替换敏感词、统一格式等。
语法结构
REPLACE(原字符串, 要查找的子串, 替换为目标的字符串)
- 原字符串:可以是字段名或具体字符串,表示要操作的内容。
- 要查找的子串:必须存在于原字符串中才会进行替换。
- 替换为目标的字符串:用来替代匹配到内容的新值,可为空(即删除匹配部分)。
使用示例
假设有一张用户表 users,其中 email 字段存有数据,但部分邮箱错误地写成了 @gmial.com,你可以用 REPLACE 修复:
SELECT REPLACE(email, ‘@gmial.com’, ‘@gmail.com’) FROM users;
如果你想直接更新数据库中的值,可以这样写:
UPDATE users SET email = REPLACE(email, ‘@gmial.com’, ‘@gmail.com’) WHERE email LIKE ‘%@gmial.com’;
再比如,去除字段中的空格:
SELECT REPLACE(description, ‘ ‘, ”) FROM articles;
注意事项
- REPLACE 是大小写敏感的。例如,
Replace和replace不会被同时替换,除非原字符串完全匹配。 - 它会替换所有匹配项,不是只替换第一个。
- 如果
from_str不存在,函数返回原始字符串不变。 - 该函数可用于 SELECT、UPDATE、INSERT 等语句中。
- 注意与 REPLACE INTO 语句区分,后者是插入/替换整行记录的命令,机制完全不同。
基本上就这些,简单实用,适合处理文本类数据问题。


