![]() |
Bitte um sql-Nachhilfe
In einer mysql-Tabelle "personen" sind in der Spalte "bemerkung" z.B. folgende Eintraege:
------- bemerkung -------- "Hans hat ein blaues Auto" "Susi hat blaue Lippen" "Karl ist oft blau" Wie lautet die genaue sql-Syntax, um den Substring "blau" in "rot" zu aendern und das Ganze vermutlich mittels UPDATE abzuspeichern? Danke! ff |
unter oracle gehts so:
Code:
update personen http://webxadmin.free.fr/article.php?i=155 http://dev.mysql.com/doc/mysql/en/replace.html |
Wennst n select machst funktionierts auf jeden Fall auch mit replace(spalte,'blau','dunkelhellschwarz'), müsst also bei Update auch so sein.
Wenn man in der mysql-hilfe richtig sucht (*zwinker zu pc.net*) findet mans hier: http://dev.mysql.com/doc/mysql/en/string-functions.html mfg Thomas |
Klar, da das das falsche REPLACE ist.
Dein Link führt auf REPLACE wie "Wenn Datensatz existiert UPDATE, sonst INSERT)" ~ |
Code:
for ($handshake=0; $handshake < 1000; $handshake++) { zaubert die Vorschau auf den Bildschirm und UPDATE personen SET bemerkung = REPLACE(bemerkung, 'rot', 'Marcel') WHERE bemerkung LIKE '%Susi%' geht dann an die Susi so richtig heran . . . ;) lg ff |
Ich will nicht unverschaemt sein, aber wenn ihr Profis zufaellig eine Ergaenzung dazu herumliegen habt, die eine Spalte "namen" von:
----------- namen -------------- Friedrich Schiller Johann Wolfgang von Goethe -------------------------------- auf ----------- namen -------------- Schiller, Friedrich Goethe, Johann Wolfgang von -------------------------------- aendert, dann postet sie bitte! Danke! ff |
naja, da wirst wohl um die befehle SUBSTR, INSTR und LENGTH nicht herumkommen ...
Code:
select substr(namen, instr(namen,' ',-1), length(namen)-instr(namen,' ',-1)+1) || ', ' || |
MySQLs INSTR() kennt anscheinend keinen dritten Parameter...
Ein Würgaround wie folgender... Code:
UPDATE Enthält der Nachname aber Leerzeichen, dann... ;) ~ |
Nochmals herzlichen Dank fuer eure Anregungen! Das hat mir viel Sucherei erspart. Vorerst funktionierten die Codes aber leider nicht. Auch das Ergaenzen der fehlenden Klammer bei Käptn brachte nicht das gewuenschte Ergebnis. Mit etwas Herumschlichten und Trial&Error habe ich es aber dann doch geschafft. Vermutlich ist das SO nicht der optimale Weg, aber es funktioniert - abgesehen von den bloeden Doppelnamen. Die muss ich halt nachbearbeiten. Goethe, Johann > Goethe, Johann Wolfgang von
-------------------------------------------------------------------- ---- Vorschau - z.B. Friedrich Schiller > Schiller, Friedrich ------ -------------------------------------------------------------------- Code:
SELECT namen, ---- Speichern - z.B. Friedrich Schiller > Schiller, Friedrich ----- -------------------------------------------------------------------- Code:
UPDATE zitate SET namen = ff |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag