Jump to content

Replace-Funktion


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

ich habe in einem Datenfeld z.B. stehen: "Berlin, Berlin, Potsdam, Hamburg"

Nun möchte ich das erste "Berlin" durch einen anderen Text ersetzen, das zweite "Berlin" soll aber so bleiben.

Sprich: auch wenn der gleiche Begriff mehrmals vorkommt, soll nur einer davon durch einen anderen Text ersetzt werden.

Mit der REPLACE-Funktion allein komme ich da ja nicht weit, denn diese ersetzt alle Treffer mit den neuen Werten.

 

Hat jemand eine Idee, wie ich mein Problem lösen könnte ?

 

Vielen Dank, Uli.

Link zu diesem Kommentar

 

Dann sollte das hier das richtige sein:

SELECT LEFT(REPLACE('abcdefg','abc','123'),4)

 

Danke, hilft auch schon weiter, aber "Berlin" bzw. das Suchwort im allgemeinden kann überall im Text mehrfach vorkommen, nicht nur links. Kann auch in der Mitte oder am Ende sein. Das macht es ja für mich so kompliziert ... Egal wo das mehrfache Suchwort vorkommt, es soll immer nur max. 1x ersetzt werden.

Link zu diesem Kommentar

Moin,

 

du könntest das mit "PATINDEX" http://msdn.microsoft.com/en-us/library/ms188395.aspx machen. Der Befehl sucht z.B. in einer Spalte eine Zeichenfolge und gibt Dir die erste gefundene Position aus. Dann könntest Du temporär das erste gefundene

"Berlin" ersetzen und nochmals den neuen String nach "Berlin" durchsuchen. Findet er nichts mehr weißt du, das "Berlin" nur einmal vorhanden ist (und wirst wohl nichts ersetzen).

Findet er noch ein weiteres "Berlin", kann nach Deiner Definition das erste dann ersetzt werden.

 

Um das ganze dann in einem SQL-Befehl unterzubringen, kommt zur Entscheidungsfindung noch "CASE WHEN" ins Spiel ...

 

Gruß Kai

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...