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-Key: 95152

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

Printed on: April 16, 2024 at 19:04 o'clock

Member: filippg
filippg Aug 23, 2008 at 12:59:09 (UTC)
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
Member: thgrch
thgrch Aug 25, 2008 at 21:43:37 (UTC)
Goto Top
Hallo und danke.
Ja, es 01.mpg heissen!!
...dann werde ich es mal testen...
Member: filippg
filippg Aug 26, 2008 at 18:20:06 (UTC)
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
Member: thgrch
thgrch Aug 27, 2008 at 18:38:35 (UTC)
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