Ersetzen mehrerer Zeichen in MySQL
Wenn man vor der Aufgabe steht, zahlreiche Zeichen in einem MySQL-Feld zu ändern, greift die REPLACE-Funktion zu kurz, da Es ist für das Ersetzen einzelner Zeichen konzipiert.
Kann das gemacht werden? Schnell?
Ja! MySQL bietet eine Lösung: die Verkettung von REPLACE-Funktionen.
select replace(replace('hello world','world','earth'),'hello','hi')
Dieser Befehl ersetzt „Hallo“ durch „Hi“ und „Welt“ durch „Erde“, was zu „Hi Erde“ führt.
Erweiterte Techniken für mehrfache Ersetzungen
Für komplexere Ersetzungen können Unterabfragen und JOINs verwendet werden beschäftigt:
Unterabfragen:
select replace(london_english,'hello','hi') as warwickshire_english from ( select replace('hello world','world','earth') as london_english ) sub
Diese Unterabfrage ersetzt „hello“ durch „hi“ im Feld „london_english“.
JOINs:
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
Dieser JOIN kombiniert zwei Tabellen, um mehrere zu ersetzen Zeichen in einer einzigen Abfrage.
Das obige ist der detaillierte Inhalt vonWie kann ich schnell mehrere Zeichen in einem MySQL-Feld ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!