sql >> Database teknologi >  >> RDS >> Mysql

Kan MySQL erstatte flere tegn?

Du kan sammenkæde REPLACE-funktioner:

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

Dette vil udskrive hi earth .

Du kan endda bruge underforespørgsler til at erstatte flere strenge!

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

Eller brug en JOIN til at erstatte dem:

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

Jeg vil efterlade oversættelse med almindelige tabeludtryk som en øvelse for læseren;)



  1. Hvordan kan jeg VÆLGE flere kolonner i en CASE WHEN på SQL Server?

  2. Refaktorer fremmednøgle til felter

  3. Oracle Kombiner flere kolonner til én

  4. Opførelse af SUBSTR på CLOB