The result data type depends on the data type of the target_arg input argument that is passed to the function as shown in the following table:
IF the data type of target_arg is... | THEN the result type is... | AND the result format is the default format for... |
---|---|---|
BYTEINT | BYTEINT | BYTEINT |
SMALLINT | SMALLINT | SMALLINT |
INTEGER | INTEGER | INTEGER |
BIGINT | BIGINT | BIGINT |
DECIMAL | NUMBER(38,0) | NUMBER(38,0) |
NUMBER | NUMBER(38,0) | NUMBER(38,0) |
VARBYTE(n) | VARBYTE(n) | 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 is accepted as input.
The maximum supported size (n) for VARBYTE is 8192 bytes.
The default title for BITAND is: BITAND(target_arg, bit_mask_arg).