SQL Replace

Muss man in einer Datenbank einen String ersetzen, kann dies einfach mit einem REPLACE Statement erledigt werden.

REPLACE sucht nach einer bestimmten Zeichenfolge eines Strings und ersetzt diesen mit einer anderen Zeichenfolge. Somit ergibt dieses Statement:

SELECT Replace('Camma Rocks!', 'Rocks', 'Rolls')
gibt folgendes zurück

Camma Rolls!

REPLACE sucht im ersten String nach einer Übereinstimmung mit dem zweiten String und ersetzt diese mit dem dritten String. Die Stringlänge des alten und des neuen Strings müssen nicht übereinstimmen. Beispiel:

SELECT Replace('Camma Rocks!', 'Rocks', 'is cool')
ergibt:

Camma is cool!

Hier wurde ein 5 Zeichen String mit einem 7 Zeichen String ersetzt. Wenn der String nicht gefunden wird, werden keine Änderungen vorgenommen:

SELECT Replace('Camma Rocks!', 'Milch', 'Zucker')
gibt genau das zurück was vorher schon da war:

Camma Rocks!

Replace kann auch in Update-Statements genutzt werden.

Update adressen
Set ortschaft = replace(ortschaft, 'Moritz, 'St Moritz');

Alle Orte welche „Moritz“ im Namen haben werden durch „St Moritz“ ersetzt. Bei allen anderen Orten wird nichts unternommen.

Natürlich kann dem Statement auch eine genauere Auswahl der Datensätze zur Verfügung gestellt werden.

UPDATE adressen
set ortschaft = replace(ortschaft, 'Moritz, 'St Moritz')
WHERE ortschaft LIKE 'Moritz%';

Dies verändert nur die Datensätze welche mit „Moritz“ beginnen.

Related Posts:

  • No Related Posts