@STRSUB
Utilizzare la funzione @STRSUB per sostituire le stringhe all'interno di una colonna o costante stringa (carattere). Racchiudere le stringhe letterali tra apici.
Per questa funzione, Oracle GoldenGate supporta l'uso di una sequenza di escape per rappresentare i caratteri in una colonna stringa in Unicode o nella codifica dei caratteri nativa dei sistemi operativi Microsoft Windows, UNIX e Linux. La colonna di destinazione deve essere un tipo di dati SQL Unicode se qualsiasi argomento viene fornito come Unicode.
Qualsiasi valore di codice a byte singolo da 1 a 255 può essere utilizzato in formato esadecimale o ottale per gli argomenti stringa. I valori esadecimali da A a F non fanno distinzione tra maiuscole e minuscole e il carattere iniziale "x" deve essere minuscolo. Il valore zero (0) (\x00 e \000) non è consentito perché è un terminatore di stringa.
Non sono supportati valori UNICODE.
Questa funzione non supporta i tipi di dati NCHAR o NVARCHAR.
Sintassi
@STRSUB
(<source_string>, <search_string>, <substitute_string>
[, <search_string>, <substitute_string>] [, ...])
Per i caratteri multibyte, è necessario utilizzare STRSUB() come indicato di seguito.
FIND_CATEGORY = @STRSUB (FIND_CATEGORY, '\u00A0', ''),
<source_string>
Stringa di origine, racchiusa tra virgolette singole, o il nome di una colonna di origine contenente i caratteri per i quali deve essere eseguita la sostituzione.
<search_string>
La stringa, racchiusa tra apici, per la quale deve essere eseguita la sostituzione.
<substitute_string>
La stringa, racchiusa tra apici, che verrà sostituita per la stringa di ricerca.
Esempi
Quanto segue restituisce xxABCxx.
@STRSUB ('123ABC123', '123', 'xx')
Quanto segue restituisce 023zBC023.
@STRSUB ('123ABC123', 'A', 'z', '1', '0')
Di seguito è riportato un esempio di sostituzione di ^Z con uno spazio utilizzando un argomento stringa esadecimale.
@strsub (col1,'\x1A',' '));