- Kategorien:
Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)
REPLACE¶
Entfernt alle Vorkommen einer bestimmten Teilzeichenfolge und ersetzt sie optional durch eine andere Zeichenfolge.
Syntax¶
REPLACE( <subject> , <pattern> [ , <replacement> ] )
Argumente¶
Subjekt
Der Betreff ist die Zeichenfolge, in der die Ersetzungen vorgenommen werden sollen. Normalerweise ist dies eine Spalte, es kann sich jedoch auch um ein Literal handeln.
Muster
Dies ist der Teilstring, den Sie ersetzen möchten. Normalerweise ist dies ein Literal, es kann sich jedoch um eine Spalte oder einen Ausdruck handeln. Beachten Sie, dass dies kein „regulärer Ausdruck“ ist. Wenn Sie mit regulären Ausdrücken nach einem Muster suchen möchten, verwenden Sie die Funktion REGEXP_REPLACE.
Ersetzung
Dies ist der Wert, der als Ersatz für
Muster
verwendet wird. Wenn dies weggelassen wird oder eine leere Zeichenfolge ist, löscht die FunktionREPLACE
einfach alle Vorkommen vonMuster
.
Rückgabewerte¶
Der zurückgegebene Wert ist die Zeichenfolge, nachdem alle Ersetzungen durchgeführt wurden.
Nutzungshinweise¶
Wenn
Ersetzung
angegeben ist, wirdSubjekt
zurückgegeben, wobei alle Vorkommen vonMuster
entfernt werden.Wenn
Ersetzung
angegeben ist, wirdSubjekt
zurückgegeben, wobei alle Vorkommen vonMuster
durchErsetzung
ersetzt werden.Wenn eines der Argumente NULL ist, lautet das Ergebnis auch NULL.
Bemerkung
Es werden nur Vorkommen im ursprünglichen Subjekt
berücksichtigt. Ein Muster
, das im Ergebnis vorkommt, wird nicht entfernt/ersetzt.
Sortierungsdetails¶
Arguments with collation specifications are currently not supported.
Beispiele¶
Ersetzen einer bc
-Zeichenfolge in abcd
durch eine leere Zeichenfolge:
SELECT REPLACE('abcd', 'bc') FROM DUAL; +-----------------------+ | REPLACE('ABCD', 'BC') | |-----------------------| | ad | +-----------------------+
Ersetzen von Zeichenfolgen in einem Wert durch eine angegebene Ersetzung:
CREATE OR REPLACE TABLE replace_example(subject varchar(10), pattern varchar(10), replacement varchar(10)); INSERT INTO replace_example VALUES('snowman', 'snow', 'fire'), ('sad face', 'sad', 'happy'); SELECT subject, pattern, replacement, REPLACE(subject, pattern, replacement) AS new FROM replace_example; +----------+---------+-------------+------------+ | SUBJECT | PATTERN | REPLACEMENT | NEW | |----------+---------+-------------+------------| | snowman | snow | fire | fireman | | sad face | sad | happy | happy face | +----------+---------+-------------+------------+