sql >> Databáze >  >> RDS >> Mysql

Může MySQL nahradit více znaků?

Funkce REPLACE můžete řetězit:

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

Tím se vytiskne hi earth .

Můžete dokonce použít dílčí dotazy k nahrazení více řetězců!

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

Nebo je nahraďte pomocí 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

Překlad pomocí běžných tabulkových výrazů nechám jako cvičení pro čtenáře;)



  1. Entity Framework 6 s Npgsql

  2. Jak Round() funguje v PostgreSQL

  3. Uživatel Postgres neexistuje?

  4. Jak odstraním konkrétní řádky v databázi SQLite