REPLACE函数用于字符串替换,语法为REPLACE(str, find_string, replace_with);可在SELECT中预览替换效果,如SELECT REPLACE('Hello World', 'World', 'MySQL');也可在UPDATE中批量更新数据,如UPDATE users SET email = REPLACE(email,'@old.com', '@new.com');函数区分大小写,支持空字符串替换,建议先用SELECT测试再执行更新。
在MySQL中,REPLACE() 是一个非常实用的字符串函数,用于在字符串中查找指定的子串,并将其替换为新的字符串。这个函数常用于数据清洗、文本处理等场景。
REPLACE(str, find_string, replace_with)
函数会返回替换后的字符串。如果找不到匹配的子串,则返回原字符串。
你可以用 REPLACE 在查询时动态修改字段值。例如:
SELECT REPLACE('Hello World', 'World', 'MySQL') AS result;输出结果为:Hello MySQL
假设你有一张用户表 users,其中 email 字段包含旧域名,想查看替换后的效果:
SELECT email, REPLACE(email, '@old.com', '@new.com') AS new_email FROM users;更常见的用途是更新数据库中的实际数据。比如将所有邮箱从旧域名改为新域名:
UPDATE users SET email = REPLACE(email, '@old.com', '@new.com');这条语句会将 email 字段中所有出现的 @old.com 替换为 @new.com。
注意:REPLACE 会替换字段中所有匹配的子串,不只是第一个。
基本上就这些。REPLACE 函数简单直接,适合处理常见的字符串替换需求,在日常SQL操作中非常实用。