-gelöst- SQL statement

werner.backhaus

Aktives Mitglied
6. Dezember 2006
455
0
Ahaus
Hallo,

in cBeschreibung steht bei mir mitten im Text z.B

preis pro Flasche EUR 8,99
oder
preis pro Flache EUR 18,99
oder
preis pro flasche EUR 129,88

war natürlich dämlich, sowas da rein zu schreiben, jetzt kann ich nicht die Preise global ändern, ohne dass da was falsches steht.

Wie kann ich mit Hilfe von statements mit wildcards diese daten löschen?

Den Satz 'preis pro flasche' löschen bekomme ich mit %text% hin aber danach noch jeweils weitere 5 Stellen oder 6 Stellen oder 7 Stellen in mehreren Schritten???

Platzhalter für einzelne Stellen soll der _ (Unterstrich) sein, hat aber nicht geklappt.

Ohne meine Datensicherung hätt ich mir beinahe alles zerschossen!!

Fällt jemand was Schlaues ein?

Ich benutze SQL Manager 2005 light.

Gruß
werner
 

werner.backhaus

Aktives Mitglied
6. Dezember 2006
455
0
Ahaus
gelöst

Hallo,

nach ein paar Versuchen hab ich's gelöst. Vielleicht nicht sehr elegant aber 's tut's.

"update tartikel set cbeschreibung=replace(cbeschreibung,'Preis pro Flasche EUR ','Preis pro Flasche EUR') where cbeschreibung like '%Preis pro Flasche EUR %';

Im ersten Schritt habe ich damit das Leerzeichen hinter EUR rausgezogen,
in jedem weiteren Schritt dann die 1,2,3,4,5,6,7,8,9,0 und das Komma.

Wenn man in der cmd shell arbeitet, kann man mit Pfeil nach oben oder unten die alten Befehle wieder aufrufen, dann muss man nicht immer alles neu schreiben.

Sobald dann alle Zahlen, Leerstellen und Kommas raus sind, einfach in der Replace Klammer 'Preis pro Flasche EUR' durch '' ersetzen.

"update tartikel set cbeschreibung=replace(cbeschreibung,'Preis pro Flasche EUR','') where cbeschreibung like '%Preis pro Flasche EUR%';

Immerhin habe ich so mehr als 8.000 Artikel geändert.

Gruß
werner