@STRSUB

@STRSUBファンクションでは、文字列(文字)用の列または定数内の文字を置換します。リテラル文字列は、一重引用符で囲みます。

Oracle GoldenGateでは、このファンクションで、Unicode、およびMicrosoft Windows、UNIX、Linuxオペレーティング・システムのネイティブ・エンコーディングの文字列を格納する列内の文字を表すために、エスケープ・シーケンスの使用をサポートしています。引数がUnicodeで指定される場合、ターゲット列はSQL Unicodeデータ型である必要があります。

文字列引数では、1から255のシングルバイト・コード値を16進または8進の形式で使用できます。16進値AからFは大文字と小文字を区別しませんが、先頭にある'x'は小文字にする必要があります。ゼロ(0)の値(\x00および\000)は文字列の終了文字になるため、許可されません。

UNICODE値はサポートされません。

このファンクションは、NCHARまたはNVARCHARデータ型をサポートしていません。

構文

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

マルチバイト文字の場合、STRSUB()は次のように使用する必要があります。

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

<source_string>

置換される文字を含む一重引用符で囲まれたソース文字列またはソース列名。

<search_string>

一重引用符で囲まれた置換される文字列。

<substitute_string>

検索した文字列と置換される一重引用符で囲まれた文字列。

例

次の例では、xxABCxxが返されます。

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

次の例では、023zBC023が返されます。

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

次に、16進数文字列引数を使用して^Zをスペースで置き換える例を示します。

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