我正在尝试替换MySQL字段中的一堆字符。我知道REPLACE函数,但是一次只能替换一个字符串。我在手册中看不到任何适当的功能。
我可以一次替换或删除多个字符串吗?例如,我需要用破折号替换空格并删除其他标点符号。
您可以链接REPLACE函数:
select replace(replace('hello world','world','earth'),'hello','hi')
这将打印hi earth。
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
我将使用常见的表表达式来进行翻译,作为读者的练习;)