@STRSUB

Utilisez la fonction @STRSUB pour remplacer des chaînes dans une colonne de chaîne (caractère) ou une constante. Placez les chaînes littérales entre apostrophes.

Pour cette fonction, Oracle GoldenGate prend en charge l'utilisation d'une séquence d'échappement pour représenter des caractères dans une colonne de chaîne dans Unicode ou dans l'encodage de caractères natif des systèmes d'exploitation Microsoft Windows, UNIX et Linux. La colonne cible doit être de type Unicode SQL si un argument est fourni en tant qu'Unicode.

N'importe quel code value mono-octet (1 à 255) peut être utilisé au format hexadécimal ou octal pour les arguments de chaîne. Les valeurs hexadécimales A à F ne respectent pas la casse et le premier "x" doit être en minuscules. La valeur zéro (0) (\x00 et \000) n'est pas autorisée car il s'agit d'un caractère de fin de chaîne.

Aucune valeur UNICODE n'est prise en charge.

Cette fonction ne prend pas en charge les types de données NCHAR ou NVARCHAR.

Syntaxe

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

Pour les caractères multioctets, STRSUB() doit être utilisé comme suit :

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

<source_string>

Chaîne source, entre apostrophes, ou nom d'une colonne source contenant les caractères pour lesquels la substitution doit avoir lieu.

<search_string>

Chaîne, entre apostrophes, pour laquelle la substitution doit avoir lieu.

<substitute_string>

Chaîne, entre apostrophes, qui remplacera la chaîne de recherche.

Exemples

La commande suivante renvoie xxABCxx.

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

La commande suivante renvoie 023zBC023.

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

Voici un exemple de remplacement de ^Z, à l'aide d'un argument de chaîne hexadécimal, par un espace.

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