sql >> データベース >  >> RDS >> Mysql

MySQLは複数の文字を置き換えることができますか?

    REPLACE関数を連鎖させることができます:

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

    これにより、hi earthが出力されます 。

    サブクエリを使用して複数の文字列を置き換えることもできます!

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

    または、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
    

    読者の練習問題として、一般的な表式を使用した翻訳は残しておきます;)



    1. Oracleの存在しない場合の挿入ステートメント

    2. 休止状態のネイティブクエリでMySQL割り当て演算子(:=)を使用するにはどうすればよいですか?

    3. 異なるORDERBYのPostgreSQLDISTINCTON

    4. GUIを使用してMySQLWorkbenchでテーブルを作成する方法