Textteil in MySQL-Textfeld ersetzen
Bastian Kurz
- datenbank
Hallo!
Ich habe eine MySQL-Tabelle. Da ist neben vielen Feldern auch ein Textfeld drin, wo ich jetzt das Wort "photo" durch "foto" ersetzen muß. Das Problem ist dabei, daß dieses Wort immer in einem längeren Text vorkommt.
update tabelle set text = 'foto' where text = '%photo%'
funktioniert ja leider nicht, weil da ja nicht nur dieses eine Wort drin steht. Kann man das irgendwie mit SQL lösen? Oder müßte ich jedes Wort manuell ersetzen.
Basti
Hello,
Ich habe eine MySQL-Tabelle. Da ist neben vielen Feldern auch ein Textfeld drin, wo ich jetzt das Wort "photo" durch "foto" ersetzen muß. Das Problem ist dabei, daß dieses Wort immer in einem längeren Text vorkommt.
update tabelle set text = 'foto' where text = '%photo%'
funktioniert ja leider nicht, weil da ja nicht nur dieses eine Wort drin steht. Kann man das irgendwie mit SQL lösen? Oder müßte ich jedes Wort manuell ersetzen.
Man kann.
Entscheiden musst Du dabei aber, ob Groß-/Kleinschreibung wesentlich sein könnte.
update tabelle set text = insert(text,instr(text,'photo'),length('foto'),'foto') where text like '%photo%';
Probier das mal aus.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
oder:
update tabelle set text = replace(text,'photo','foto');
Die Where-Klausel kann man hier wohl weglassen, denke ich.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom