Expressions passed to this function must have the following data types:
Expression | Data Types Allowed |
---|---|
source_string | CHAR, VARCHAR, CLOB |
regexp_string | CHAR, VARCHAR |
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 CLOB | 16 MB |
The regexp_string maximum pattern string size is:
regexp_string Data Type | Maximum Pattern String Size |
---|---|
Latin CHAR or VARCHAR | 32000 bytes |
Unicode CHAR or VARCHAR | 32000 bytes |
Latin CLOB | 30000 bytes |
Unicode CLOB | 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 CLOB | 16 MB |
REGEXP_SUBSTR returns an error if the maximum return string size is exceeded, unless match_arg = 'l', in which case, REGEXP_SUBSTR returns NULL.
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.
The UDF implicit type conversion rules are more restrictive than the implicit type conversion rules typically used by Vantage. An argument that cannot be converted to the required data type following the UDF implicit conversion rules must be explicitly cast.