@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',' '));