Expressions passed to this function must have the following data types:
Expression | Data Types Allowed |
---|---|
source_string | CHAR, VARCHAR, CLOB |
regexp_string | CHAR, VARCHAR |
replace_string | CHAR, VARCHAR CLOB |
position_arg | NUMBER |
occurrence_arg | NUMBER |
match_arg | VARCHAR |
The source_string maximum source size is:
source_string Data Type | Maximum Source Size |
---|---|
Latin CHAR or VARCHAR | 32000 bytes |
Unicode CHAR or VARCHAR | 64000 bytes |
Latin or Unicode CLOBs | 16 MB |
The regexp_string maximum pattern string size is:
regexp_string Data Type | Maximum Pattern String Size |
---|---|
Latin CHAR or VARCHAR | 16000 bytes |
Unicode CHAR or VARCHAR | 16000 bytes |
Latin or Unicode CLOBs | 30000 bytes |
The maximum replace string size is:
Data Type | Maximum Replace String Size |
---|---|
Latin CHAR or VARCHAR | 16000 bytes |
Unicode CHAR or VARCHAR | 16000 bytes |
Latin or Unicode CLOBs | 30000 bytes |
The maximum return string size is:
Data Type | Maximum Return String Size |
---|---|
Latin CHAR or VARCHAR | 16000 bytes |
Unicode CHAR or VARCHAR | 16000 bytes |
Latin or Unicode CLOBs | 16 MB |
REGEXP_REPLACE returns an error if the maximum return string size is exceeded, unless match_arg = 'l', in which case, REGEXP_REPLACE returns the original string.
If position_arg is omitted, the default value (1) is used.
The maximum backreference number in a replace string is 9 (for example, \9). Any backreference in the replace string that is higher than 9 is not considered a backreference.
The x match option ignores whitespace characters in the pattern/regexp_string. By default, whitespace characters match themselves.
You can also pass arguments with data types that can be converted to the preceding types using the implicit data type conversion rules that apply to UDFs.