17.10 - Argument Types and Rules - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - SQL Functions, Expressions, and Predicates

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-28
dita:mapPath
SQL_Functions__Expressions__and_Predicates.Upload_071421/djk1612415574830.ditamap
dita:ditavalPath
SQL_Functions__Expressions__and_Predicates.Upload_071421/wrg1590696035526.ditaval
dita:id
kby1472250656485

Expressions passed to this function must have the following data types:

  • source_string = CHAR, VARCHAR, or CLOB.
  • regexp_string = CHAR or VARCHAR
  • position_arg = NUMBER
  • occurrence_arg = NUMBER
  • match_arg = VARCHAR
The source_string maximum size is:
  • For parameters that are Latin CHAR or VARCHAR, the maximum source size is 32000 bytes.
  • For parameters that are Unicode CHAR or VARCHAR, the maximum source size is 64000 bytes.
  • For parameters that are Latin or Unicode CLOBs, the maximum source size is 16 MB.
The regexp_string maximum pattern string size is:
  • For parameters that are Latin CHAR or VARCHAR, the maximum regexp_string size is 32000 bytes.
  • For parameters that are Unicode CHAR or VARCHAR, the maximum regexp_string size is 32000 bytes.
  • For parameters that are Latin CLOBs, the maximum regexp_string size is 30000 bytes.
  • For parameters that are Unicode CLOBs, the maximum regexp_string size is 30000 bytes.
The maximum return string size is:
  • For parameters that are Latin CHAR or VARCHAR, the maximum return string size is 16000 bytes.
  • For parameters that are Unicode CHAR or VARCHAR, the maximum return string size is 16000 bytes.
  • For parameters that are Latin or Unicode CLOBs, the maximum return string size is 16 MB.

REGEXP_SUBSTR returns an error if this size is exceeded unless match_arg = 'l', in which case, it 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 above 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 normally used by Vantage. If an argument cannot be converted to the required data type following the UDF implicit conversion rules, it must be explicitly cast.