我正在尝试替换 MySQL 字段中的一堆字符。我知道 REPLACE 函数,但它一次只能替换一个字符串。我看不到任何合适的功能在手册中.
我可以一次替换或删除多个字符串吗?例如,我需要用破折号替换空格并删除其他标点符号。
您可以链接 REPLACE 函数:
select replace(replace('hello world','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
) sub
或者使用 JOIN 来替换它们:
select group_concat(newword separator ' ')
from (
select 'hello' as oldword
union all
select 'world'
) orig
inner join (
select 'hello' as oldword, 'hi' as newword
union all
select 'world', 'earth'
) trans on orig.oldword = trans.oldword
我将使用公用表表达式进行翻译作为读者的练习;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)