Maison >base de données >tutoriel mysql >Comment puis-je remplacer ou supprimer plusieurs chaînes dans un champ MySQL ?

Comment puis-je remplacer ou supprimer plusieurs chaînes dans un champ MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-02 22:43:40137parcourir

How Can I Replace or Delete Multiple Strings in a MySQL Field?

Remplacement et suppression de plusieurs chaînes dans MySQL

Le remplacement et la suppression de plusieurs chaînes dans un champ MySQL peuvent être réalisés en utilisant une combinaison de techniques :

Chaînage REMPLACER Fonctions

La fonction REPLACE de MySQL peut être utilisée pour remplacer des chaînes simples. En enchaînant plusieurs fonctions REPLACE, vous pouvez remplacer plusieurs chaînes dans l'ordre :

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

Cet exemple remplace "world" par "earth", puis remplace "hello" par "hi", ce qui donne "salut terre". "

Sous-requêtes

Les sous-requêtes vous permettent d'effectuer une requête imbriquée et d'utiliser ses résultats en entrée à la requête externe. À l'aide d'une sous-requête, vous pouvez remplacer plusieurs chaînes dans une seule instruction :

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

Cette requête remplace "hello" par "hi" dans le résultat d'une sous-requête qui remplace "world" par "earth".

JOINs

Les JOINs peuvent également être utilisés pour remplacer plusieurs chaînes. Dans cette approche, vous créez une table avec les chaînes d'origine et une autre table avec les chaînes de remplacement. Vous effectuez ensuite une INNER JOIN et utilisez la condition JOIN pour faire correspondre les chaînes qui doivent être remplacées :

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

Cette requête produira une liste de chaînes de remplacement séparées par des virgules en fonction de la condition JOIN.

En tirant parti de ces techniques, vous pouvez remplacer ou supprimer efficacement plusieurs caractères ou chaînes dans un champ MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn