thgrch
Goto Top

daten mit sql ersetzen

ich suche den einfachsten weg um in einer MySQL Tabelle daten zu ersetzen.
Alle die mit 0 beginnen, durch ein b zu ersetzen
Beispiel:
01.mpg wird b0.mpg
00000001.mpg soll b0000001.mpg

Habe es mit concat und replace versucht.....

Herzlichen Dank

Content-ID: 95152

Url: https://administrator.de/contentid/95152

Ausgedruckt am: 26.11.2024 um 13:11 Uhr

filippg
filippg 23.08.2008 um 14:59:09 Uhr
Goto Top
Hallo,

dein Beispiel ist falsch, oder? 01.mpg soll b1.mpg heißen?
Ich machen nur MS SQL, aber als Skizze:

UPDATE Dateien SET Dateiname = 'b'+RIGHT(Dateiname, LENGTH(dateiname)-1) WHERE CHARINDEX('0', Dateiname) = 1

Oder:
UPDATE Dateien SET Dateiname = STUFF(Dateiname, 1, 1, 'b') WHERE CHARINDEX('0', Dateiname) = 1


RIGHT(Dateiname, LENGTH(dateiname)-1): sollte alle Zeichen von Dateiname, bis auf das erste liefern. Dafür wird ja nachher ein b davorgeschrieben
WHERE CHARINDEX('0', Dateiname) = 1: liefert alle Zeilen, bei denen Dateiname mit 0 beginnt
STUFF(Dateiname, 1, 1, 'b'): Löscht aus Dateiname an Position 1 ein Zeichen und fügt stattessen b ein.

Gruß

Filipp
thgrch
thgrch 25.08.2008 um 23:43:37 Uhr
Goto Top
Hallo und danke.
Ja, es 01.mpg heissen!!
...dann werde ich es mal testen...
filippg
filippg 26.08.2008 um 20:20:06 Uhr
Goto Top
Ja, es 01.mpg heissen!!
Irgendwie komme ich mir verarscht vor.
Wenn es funktioniert bitte den Beitrag als gelöst markieren.

Gruß

Filipp
thgrch
thgrch 27.08.2008 um 20:38:35 Uhr
Goto Top
HAllo Filipp
entschuldige... war unterwegs... und hatte kein MSSQL zur Verfügung

im MySQL bin ich zum Ziel gekommen

UPDATE DATEIEN SET DATEINAME = CONCAT(SUBSTR(DATEINAME,0,1), 'b', SUBSTR(DATEINAME,2))

Herzlichen DANK!!!
Gruss Stefan