Du kannst doch keine Wildcards als neuen Wert in der UPDATE-Anweisung verwenden...?
Damit erzählst du dem SQL-Server, er möge doch bitte den Wert auf "irgendwas am Anfang, irgendwas am Ende, aber in der Mitte soll 'Straße' stehen" setzen.
Hallo Forum,
folgendes habe ich versucht, und falsche Änderungen erhalten:
UPDATE verein_xxx SET strasse = "%Straße%" WHERE strasse LIKE "%Str.%"
Beispiel:
Kolonne strasse = dddd Str.
Nach Update ergibt:
Kolonne strasse = %Straße%
Was habe ich da falsch interpretiert?
Eine Bitte um Hilfe.
Du kannst doch keine Wildcards als neuen Wert in der UPDATE-Anweisung verwenden...?
Damit erzählst du dem SQL-Server, er möge doch bitte den Wert auf "irgendwas am Anfang, irgendwas am Ende, aber in der Mitte soll 'Straße' stehen" setzen.
Hallo maxi89,
wie bekomme ich denn dann den geänderten Wert herein? Muß ich über php gehen?
Oder geht es doch über mysql?
schade
Geändert von seemann (10.08.2011 um 21:40 Uhr)
du möchtest also zb aus dddd Str. => dddd Straße machen???
Der Charakter eines Menschen lässt sich leicht daran erkennen, wie er mit Leuten umgeht, die nichts für ihn tun können.
Hallo dipo01,
genau, so hatte ich es gedacht. Ohne es mit select und dann im PHP ändern und mit UPDATE wieder zurückzuschreiben. Gibt es diese Möglichkeit?
Das sollte genau das tun, was du möchtest.Code:UPDATE `verein_xxx` SET `strasse` = REPLACE(`strasse`, 'str.', 'straße') WHERE `strasse` LIKE "%str.%";
Denke daran, dass hierbei nur das kleingeschriebene "str." durch das kleingeschriebene "straße" ersetzt wird, also "Teststr." -> "Teststraße".
Hallo maxi89,PHP-Code:UPDATE `verein_xxx` SET `strasse` = REPLACE(`strasse`, ' Str.', ' Straße') WHERE `strasse` LIKE "% Str.%";
das obige Beispiel habe ich abgeändert. Wäre das so richtig wenn ich:
irgendeine Str. => irgendeine Straße haben möchte?
Es macht mir immer wieder Spaß die Ergebnisse zu erleben....
Ohne es getestet zu haben: Ja, müsste so funktionieren.
Wenn du es in den Livedaten testen willst, kannst du einfach diese Anweisung als SELECT (der ja nichts verändert) formulieren:
Code:SELECT REPLACE(`strasse`, ' Str.', ' Straße') FROM `verein_xxx` WHERE `strasse` LIKE "% Str.%";
danke maxi89,
Deine Tipps sind immer eine gute Anleitung. Jetzt komme ich weiter. Habe es zum Teil jetzt mit Select strtr und Update gelöst.
Aber so könnte ich es sofort bei Erkennung dieses in der Tabelle ausführen. Ich selbst trage die Daten nicht ein. Es sind Leute aus dem Verein.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)