Argument Types and Rules - Advanced SQL Engine - Teradata Database

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
B035-1145
lifecycle
previous
Product Category
Teradata Vantage™
BITAND is an overloaded scalar function. The data type of the target_arg parameter can be one of the following:
  • BYTEINT
  • SMALLINT
  • INTEGER
  • BIGINT
  • DECIMAL
  • NUMBER
  • VARBYTE(n)
DECIMAL input is implicitly converted to NUMBER(38,0). target_arg is not defined for DECIMAL, but it is defined for NUMBER(38,0). Due to UDF implicit type conversion rules, DECIMAL will be accepted as input.

The data type of the bit_mask_arg parameter varies depending upon the data type of the target_arg parameter. The following (target_arg, bit_mask_arg) input combinations are permitted:

target_arg type bit_mask_arg type
BYTEINT BYTE(1)
BYTEINT BYTEINT
SMALLINT BYTE(2)
SMALLINT SMALLINT
INTEGER BYTE(4)
INTEGER INTEGER
BIGINT BYTE(8)
BIGINT BIGINT
NUMBER(38,0) VARBYTE(16)
NUMBER(38,0) NUMBER(38,0)
VARBYTE(n) VARBYTE(n)

The maximum supported size (n) for VARBYTE is 8192 bytes.

All expressions passed to this function must either match these declared data types or can be converted to these types using the implicit data type conversion rules that apply to UDFs. For example, BITAND(BYTEINT, INTEGER) is allowed because it can be implicitly converted to BITAND(INTEGER,INTEGER).

The UDF implicit type conversion rules are more restrictive than the implicit type conversion rules normally used by Vantage. If any argument cannot be converted to one of the declared data types by following UDF implicit conversion rules, it must be explicitly cast. For more information, see “Compatible Types” and “Parameter Types in Overloaded Functions” in Teradata Vantage™ - SQL External Routine Programming , B035-1147 .

If any argument cannot be converted to one of the declared data types, an error is returned indicating that no function exists that matches the DML UDF expression submitted.