String-Verarbeitung mit MySQL

Servus!

Kann MySQL Strings verarbeiten? Genauer geht es um folgendes Beispiel:
In einer Spalte stehen String in der Form „0;1;2;3;7;10;“. Aus diesem String würde ich gerne „3;“ löschen oder „5;“ einfügen (wenn möglich sogar zwischen 3 und 7). Kann MySQL das selber oder muss ich das in ein verarbeitendes Skript packen?

Moin!

Ja, MySQL hat auch diverse Stringbearbeitungsfunktionen.
Eine Übersicht findest Du hier:
http://dev.mysql.com/doc/refman/5.1/de/string-functi…

CU

Danke schon mal für den Link! Ich habe da allerdings nichts gefunden, mit dem ich aus „0;1;2;“ „0;1;2;3;4;“ machen kann… Kann mir da jemand helfen?

UPDATE table SET col = CONCAT((SELECT user FROM ACCESS WHERE user LIKE ‚%2;%‘), ‚3;4;‘)

führt jedenfalls zu

#1093 - You can’t specify target table ‚table‘ for update in FROM clause

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ups, sorry Florian, hab Deine Antwort die Tage über übersehen.
(Aber hey, hätte ja auch jemand anders antworten können…)

Nun denn, hm, ich bin mir nicht ganz sicher, was diese Abfrage nun machen soll…

UPDATE table SET col = CONCAT((SELECT user FROM ACCESS WHERE user LIKE ‚%2;%‘), ‚3;4;‘)

Vorab: heißt Deine Tabelle wirklich table? Vorsicht, table ist ein reserviertes Wort.
Reservierte Wörter kann man auch verwenden, aber nur mit Anführungsstrichen.

Und dann sagst Du zur DB: Erneuer die Felder der Spalte col indem Du eine Verkettung einsetzt,
aus dem, was in der Tabelle ACCESS als user steht, deren Name „2;“ beinhaltet und dem String ‚3;4;‘

Das ist direkt mal ein bißchen verwirrend. Ich kenn zwar deine Tabellenstruktur nicht, aber wie soll die Datenbank die richtigen Felder der Tabelle table finden, wenn nirgends eine Zuordnung zwischen ACCESS und table erfolgt?
Das kann eigentlich nur funktionieren, wenn es nur genau einen einzigen user in ACCESS gibt, auf dem die Auswahl zutrifft.
Dann wird seine Kennung, oder was es auch immer sein soll, genommen und mit ‚3;4;‘ verkettet und das Ergebnis in allen Feldern der Spalte col eingetragen.

Tja, soviel dazu.

Schönen Gruß,
Michael