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