@STRSUB

Verwenden Sie die Funktion @STRSUB, um Zeichenfolgen innerhalb einer Zeichenfolgenspalte oder -konstante zu ersetzen. Schließen Sie literale Zeichenfolgen in einfache Anführungszeichen ein.

Für diese Funktion unterstützt Oracle GoldenGate die Verwendung einer Escape-Sequenz zur Darstellung von Zeichen in einer Zeichenfolgenspalte in Unicode oder in der nativen Zeichencodierung der Betriebssysteme Microsoft Windows, UNIX und Linux. Die Zielspalte muss ein SQL-Unicode-Datentyp sein, wenn ein Argument als Unicode angegeben wird.

Jeder einzelne Bytecodewert 1 bis 255 kann im Hexadezimal- oder Oktalformat für die Zeichenfolgenargumente verwendet werden. Bei den Hexadezimalwerten A bis F wird die Groß-/Kleinschreibung nicht beachtet, und das führende "x" muss Kleinbuchstaben enthalten. Der Wert Null (0) (\x00 und \000) ist nicht zulässig, da es sich um einen Zeichenfolgenabschluss handelt.

Keine UNICODE-Werte werden unterstützt.

Diese Funktion unterstützt die Datentypen NCHAR oder NVARCHAR nicht.

Syntax

@STRSUB
(<source_string>, <search_string>, <substitute_string>
[, <search_string>, <substitute_string>] [, ...])

Bei Multibyte-Zeichen muss STRSUB() wie folgt verwendet werden:

FIND_CATEGORY = @STRSUB (FIND_CATEGORY, '\u00A0', ''),

<source_string>

Eine Quellzeichenfolge in einfachen Anführungszeichen oder der Name einer Quellspalte, die die Zeichen enthält, für die eine Ersetzung erfolgen soll.

<search_string>

Die Zeichenfolge in einfachen Anführungszeichen, für die eine Ersetzung erfolgen soll.

<substitute_string>

Die Zeichenfolge in einfachen Anführungszeichen, die durch die Suchzeichenfolge ersetzt wird.

Beispiele

Im Folgenden wird xxABCxx zurückgegeben.

@STRSUB ('123ABC123', '123', 'xx')

Im Folgenden wird 023zBC023 zurückgegeben.

@STRSUB ('123ABC123', 'A', 'z', '1', '0')

Im Folgenden finden Sie ein Beispiel dafür, wie Sie ^Z mit einem Hexadezimalzeichenfolgenargument durch ein Leerzeichen ersetzen.

@strsub (col1,'\x1A',' '));