Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

REPLACE

Entfernt alle Vorkommen einer bestimmten Teilzeichenfolge und ersetzt sie optional durch eine andere Teilzeichenfolge.

Syntax

REPLACE( <subject> , <pattern> [ , <replacement> ] )
Copy

Argumente

subject

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.

pattern

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.

replacement

Dies ist der Wert, der als Ersatz für pattern verwendet wird. Wenn dies weggelassen wird oder eine leere Zeichenfolge ist, löscht die Funktion REPLACE einfach alle Vorkommen von pattern.

Rückgabewerte

Der zurückgegebene Wert ist die Zeichenfolge, nachdem alle Ersetzungen durchgeführt wurden.

Usage Notes

  • Wenn in replacement kein Ersetzungswert angegeben ist, wird subject zurückgegeben, wobei alle Vorkommen des Werts pattern entfernt werden.

  • Wenn in replacement ein Ersetzungswert angegeben ist, wird subject zurückgegeben, wobei alle Vorkommen von pattern durch replacement ersetzt werden.

  • Wenn eines der Argumente NULL ist, lautet das Ergebnis auch NULL.

Bemerkung

Es werden nur Vorkommen im ursprünglichen subject berücksichtigt. Ein pattern, das im Ergebnis vorkommt, wird nicht entfernt/ersetzt.

Collation Details

The collation specifications of all input arguments must be compatible.

Diese Funktion bietet keine Unterstützung für folgende Sortierungsspezifikationen:

  • pi (ohne Beachtung der Interpunktion)

  • cs-ai (Beachtung von Groß-/Kleinschreibung, keine Beachtung von Akzenten)

Bemerkung

To use this function with a column that has the upper or lower collation specifiers, you must enable the 2024_02 behavior change bundle in your account.

To enable this bundle in your account, execute the following statement:

SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2024_02');
Copy

Beispiele

Ersetzen Sie die Zeichenfolge down durch die Zeichenfolge up.

SELECT REPLACE('down', 'down', 'up');
Copy
+-------------------------------+
| REPLACE('DOWN', 'DOWN', 'UP') |
|-------------------------------|
| up                            |
+-------------------------------+

Ersetzen Sie die Teilzeichenfolge Athens in der Zeichenfolge Vacation in Athens durch die Teilzeichenfolge Rome:

SELECT REPLACE('Vacation in Athens', 'Athens', 'Rome');
Copy
+-------------------------------------------------+
| REPLACE('VACATION IN ATHENS', 'ATHENS', 'ROME') |
|-------------------------------------------------|
| Vacation in Rome                                |
+-------------------------------------------------+

Ersetzen Sie die Teilzeichenfolge bc in der Zeichenfolge abcd durch eine leere Teilzeichenfolge:

SELECT REPLACE('abcd', 'bc');
Copy
+-----------------------+
| REPLACE('ABCD', 'BC') |
|-----------------------|
| ad                    |
+-----------------------+

Ersetzen Sie die Werte in einer Tabelle durch neue Werte.

Erstellen Sie eine Tabelle, und füllen Sie diese mit Werten:

CREATE OR REPLACE TABLE replace_example(
  subject VARCHAR(10),
  pattern VARCHAR(10),
  replacement VARCHAR(10));

INSERT INTO replace_example VALUES
  ('old car', 'old car', 'new car'),
  ('sad face', 'sad', 'happy'),
  ('snowman', 'snow', 'fire');
Copy

Ersetzen von Zeichenfolgen in einem Wert durch eine angegebene Ersetzung:

SELECT subject,
       pattern,
       replacement,
       REPLACE(subject, pattern, replacement) AS new
  FROM replace_example
  ORDER BY subject;
Copy
+----------+---------+-------------+------------+
| SUBJECT  | PATTERN | REPLACEMENT | NEW        |
|----------+---------+-------------+------------|
| old car  | old car | new car     | new car    |
| sad face | sad     | happy       | happy face |
| snowman  | snow    | fire        | fireman    |
+----------+---------+-------------+------------+

Die Ausgabe zeigt die folgenden Ersetzungen:

  • Die Zeichenfolge old car wurde durch die Zeichenfolge new car ersetzt.

  • In der Zeichenfolge sad face wurde die Teilzeichenfolge sad durch die Teilzeichenfolge happy ersetzt, um die neue Zeichenfolge happy face zu erstellen.

  • In der Zeichenfolge snowman wurde die Teilzeichenfolge snow durch die Teilzeichenfolge fire ersetzt, um die neue Zeichenfolge fireman zu erstellen.