@STRSUB
使用 @STRSUB 函数可替换字符串(字符)列或常量中的字符串。将文字字符串括在单引号内。
对于此功能,Oracle GoldenGate 支持使用转义序列来表示 Unicode 中字符串列中的字符,或 Microsoft Windows、UNIX 和 Linux 操作系统的本机字符编码中的字符。如果以 Unicode 形式提供了任何参数,则目标列必须是 SQL Unicode 数据类型。
任何单个字节代码值 1 到 255 都可以使用字符串参数的十六进制或八进制格式。十六进制值 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')
以下示例使用十六进制字符串参数将 ^Z 替换为空格。
@strsub (col1,'\x1A',' '));