在 MySQL 中重写多个字符
修改 MySQL 字段中的多个字符的挑战可能令人望而生畏,尤其是当 REPLACE 函数似乎有限时到单个字符串替换。但是,MySQL 提供了多种技术来克服此限制。
链接 REPLACE 函数
一种简单的方法涉及链接多个 REPLACE 调用:
SELECT REPLACE(REPLACE('hello world', 'world', 'earth'), 'hello', 'hi');
此代码片段首先将“world”替换为“earth”,然后将“hello”替换为“hi”,结果是“hi” Earth."
利用子查询
子查询可用于替换多个字符串:
SELECT REPLACE(london_english, 'hello', 'hi') AS warwickshire_english FROM ( SELECT REPLACE('hello world', 'world', 'earth') AS london_english ) AS sub;
此查询将“hello”替换为“hi” ” 在子查询(名为“london_english”)中,然后将结果分配给"warwickshire_english."
利用 JOIN
JOIN 提供了另一种替换多个字符串的方法:
SELECT GROUP_CONCAT(newword SEPARATOR ' ') FROM ( SELECT 'hello' AS oldword UNION ALL SELECT 'world' ) AS orig INNER JOIN ( SELECT 'hello' AS oldword, 'hi' AS newword UNION ALL SELECT 'world', 'earth' ) AS trans ON orig.oldword = trans.oldword;
在此示例中,一个虚拟表 ( orig) 包含原始单词。 trans 表包含替换对。 JOIN 根据 oldword 列将“hello”与“hi”匹配,将“world”与“earth”匹配,然后将结果连接起来。
练习:通用表表达式
MySQL 的通用表表达式 (CTE) 为替换多个字符提供了更具表现力的替代方案。我们鼓励读者探索这项技术作为练习。
以上是如何高效替换MySQL字段中的多个字符?的详细内容。更多信息请关注PHP中文网其他相关文章!