REPLACE (Ersetzen) ist eine Funktion zur Bearbeitung von Zeichenfolgen, die alle Typen von Zeichenfolgedaten (BIT, BLOB und CHARACTER) verarbeitet und Teile einer Zeichenfolge durch Unterzeichenfolgen ersetzt.
REPLACE gibt eine Zeichenfolge zurück, die aus der Quellenzeichenfolge besteht, bei der jedes Vorkommen des Suchbegriffs durch die Ersetzungszeichenfolge ersetzt wird. Die Parameterzeichenfolgen können vom Datentyp CHARACTER, BLOB oder BIT sein, sie müssen jedoch alle drei vom gleichen Typ sein.
Falls ein Parameter NULL ist, ist das Ergebnis NULL.
Der Suchvorgang erfolgt in einem einzigen Arbeitsgang von links nach rechts und übergeht Zeichen, die bereits abgeglichen wurden.
Falls Sie den Ausdruck mit der Ersetzungszeichenfolge nicht angeben, so wird als Ersetzungszeichenfolge als Standardwert eine leere Zeichenfolge verwendet. Die Funktion löscht dann alle Vorkommen des Suchbegriffs aus dem Ergebnis.
REPLACE('ABCDABCDABCDA', 'A', 'AA') -- RESULT = AABCDAABCDAABCDAAAus dem Beispiel oben geht hervor, dass das Ersetzen in einem einzigen Arbeitsgang erfolgt. Jedes Vorkommen von A wird durch AA ersetzt; diese werden dann nicht mehr weiter erweitert.
REPLACE('AAAABCDEFGHAAAABCDEFGH', 'AA', 'A') -- RESULT = AABCDEFGHAABCDEFGHDieses Beispiel zeigt, dass die Zeichen nach dem Abgleich nicht weiter geprüft werden. Jedes Vorkommen von AA wird durch A ersetzt. Die dabei entstehenden Paare AA werden nicht mehr abgeglichen.
REPLACE('AAAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZABCDEFGHXYZXYZBCDEFGHAus diesem letzten Beispiel wird ersichtlich, dass der Abgleich von links erfolgt. Die ersten vier Vorkommen von A werden als zwei Paare abgeglichen und ersetzt. Das fünfte A wird nicht abgeglichen.