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!