sql >> Database >  >> RDS >> Mysql

Kan MySQL meerdere tekens vervangen?

U kunt REPLACE-functies koppelen:

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

Dit zal hi earth . afdrukken .

Je kunt zelfs subquery's gebruiken om meerdere strings te vervangen!

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

Of gebruik een JOIN om ze te vervangen:

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

Ik laat de vertaling met behulp van algemene tabeluitdrukkingen als oefening voor de lezer;)



  1. Hoe verander ik de MySQL-tijdzone in een databaseverbinding met Java?

  2. Oracle SQL:gebruik volgorde in insert met Select Statement

  3. Updatebewerkingen uitvoeren op kolommen van het type JSONB in ​​Postgres 9.4

  4. Hoe PI() werkt in MariaDB