Argument Types and Rules - Advanced SQL Engine - Teradata Database

SQL Data Types and Literals

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
tpf1598412463935.ditamap
dita:ditavalPath
tpf1598412463935.ditaval
dita:id
B035-1143
lifecycle
previous
Product Category
Teradata Vantageā„¢
Expressions passed to this function must have the following data types:
  • instring = VARBYTE or BLOB
  • out_encoding = VARCHAR(64)

If out_encoding is not one of the supported encodings, an error is returned.

If the resulting conversion overflows the result data type length, SQL Engine returns an error.

If either instring or out_encoding is NULL, the result is NULL.

The character set of the return type is set to either Latin or Unicode. The character set of the return type is set to match the character set of the encoding input parameter.

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.

The maximum input or output for CLOB or BLOB size is 2 GB. An error is reported if the size is exceeded.

The FROM_BYTES function converts from a VARBYTE and a character string. Byte strings are interpreted as negative if the high order bit is 1.

FROM_BYTES does not convert from byte to byte encodings, as the data is interpreted differently. Additionally, the byte encodings do not use positive or negative signs, which FROM_BYTES needs to decipher if the data is a positive or negative number.

If you must use byte to byte conversion, use two TO_BYTE functions. (Note the syntax is TO_BYTE, not TO_BYTES.)