Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL peut-il remplacer plusieurs caractères ?

Vous pouvez enchaîner les fonctions REMPLACER :

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

Cela imprimera hi earth .

Vous pouvez même utiliser des sous-requêtes pour remplacer plusieurs chaînes !

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

Ou utilisez un JOIN pour les remplacer :

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

Je vais laisser la traduction en utilisant des expressions de table courantes comme exercice pour le lecteur ;)