Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann MySQL mehrere Zeichen ersetzen?

Sie können REPLACE-Funktionen verketten:

select replace(replace('hello world','world','earth'),'hello','hi')

Dadurch wird hi earth ausgegeben .

Sie können sogar Unterabfragen verwenden, um mehrere Zeichenfolgen zu ersetzen!

select replace(london_english,'hello','hi') as warwickshire_english
from (
    select replace('hello world','world','earth') as london_english
) sub

Oder verwenden Sie einen JOIN, um sie zu ersetzen:

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

Ich überlasse die Übersetzung mit gebräuchlichen Tabellenausdrücken als Übung für den Leser;)