bandit600
Goto Top

SQL-Befehl zum Ändern von Zelleninhalten

Hallo.

Ich brauch einen SQL-Befehl, der folgendes ausführt:

wenn in Spalte "S" in Tabelle "Tab" in einer Zelle die Zeichenfolge "zei" vorkommt, soll aus "zei" "abc" gemacht werden.

Schwierigkeit hierbei ist, dass in der Spalte "S" in den Zellen ganze Sätze drin stehen und sich die Zeichenfolge "zei" in Worten wie "Polizei", "rechtzeitig" oder "zeilenweise" versteckt...

Hintergrund:

Beim Umzug auf einen neuen Server gab es bei der Datenbank Probleme mit den verwendeten Zeichensätzen...

Kann jmd helfen??

Content-Key: 58133

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

Printed on: April 24, 2024 at 14:04 o'clock

Member: AndreasHoster
AndreasHoster May 03, 2007 at 12:48:04 (UTC)
Goto Top
Kommt auf Deinen SQL Server an. Der MS SQL Server kennt replace

Update TABELLE set FELD = replace(FELD, 'zei', 'abc') where FELD like '%zei%'
Member: Bandit600
Bandit600 May 03, 2007 at 13:07:17 (UTC)
Goto Top
Kommt auf Deinen SQL Server an. Der MS SQL
Server kennt replace

Update TABELLE set FELD = replace(FELD,
'zei', 'abc') where FELD
like '%zei%'

was kommt bei FELD rein??

Auch MySQL-Tauglich??
Member: AndreasHoster
AndreasHoster May 03, 2007 at 13:39:28 (UTC)
Goto Top
Bei TABELLE den Tabellennamen und bei FELD den Feldnamen.
Noch nie ein Update Statement gesehen?

Ob MySQL die replace Methode kennt weiß ich nicht.
Ansonsten kann man natürlich Access nehmen, die Tabelle per ODBC anbinden und dann die Abfrage im Access machen, Access kennt nämlich auch replace.
Ansonsten einfach in mySQL mal ausprobieren. Bevor man Daten verändert eventuell mal mit einem Select replace ...
Member: Bandit600
Bandit600 May 03, 2007 at 13:45:02 (UTC)
Goto Top
kk

ok, hab ich.. aber wenn ich den befehl

Update Tabelle1 set '1' = replace('1', 'ßi', 'ß') where FELD like '%ßi%'

ablaufen lasse (1 ist der feldname, &szlig der zu suchende string und ß soll draus werden) kommt nu rne meldung paramterwert eingeben für '1' und dann Paramterwert eingeben für Feld..

PS: probiere es in Access
Member: AndreasHoster
AndreasHoster May 03, 2007 at 14:03:02 (UTC)
Goto Top
Seit wann kommen um Feldnamen Anführungszeichen?
Lass die um die 1 einfach mal weg.
Member: Bandit600
Bandit600 May 04, 2007 at 11:21:10 (UTC)
Goto Top
.. dann kommt nur noch die eongabeaufforderung "paramterwert eingeben" für feld..

edit, läuft.. aber funktioniert nicht... sagt immer "sie beabsichtigen 0 zeilen zu ändern.."

edit.. hab es... Access verwendet nicht % als Wildcard, sondern *
Member: AndreasHoster
AndreasHoster May 04, 2007 at 11:41:14 (UTC)
Goto Top
Ja, Access nimmt Windows Syntax mit * und ?, bei SQL ist es allerdings % und _
Member: Bandit600
Bandit600 May 04, 2007 at 11:42:12 (UTC)
Goto Top
Dankeschön für die Hilfe!!!!!!

*thumbsup*
Member: Biber
Biber May 04, 2007 at 14:11:57 (UTC)
Goto Top
Moin bandit600,

habe Deinen letzten Kommentar zum Anlass genommen, den Thread mal mit grünem Haken zu versehen und zu schließen.

Könntest Du beim nächste Mal (You are welcome) bitte
  • den "Erledigt"-Haken selbst zu setzen
  • auch immer das konkrete DBMS (Oracle, mySQl, Access...) angeben, unter dem das ganze laufen soll.

Dann gehts nächstes Mal schneller...

Danke und schönes Wochenende
Biber