Example: Invoking Compatible Argument Data Types

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

brand
Software
Teradata Vantage
prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
Programming Reference
featnum
B035-1145-162K

In this example, the UDF invocation argument data type (BYTEINT) is not the same as that of the corresponding UDF parameter data type (INTEGER) since the size of the argument data type is less than the UDF parameter data type. However, because the two data types are compatible and a BYTEINT argument can fit inside an INTEGER parameter, this is allowed.

   CREATE FUNCTION test.MyUDF (a INT, b INT, c INT)
   RETURNS INT
   LANGUAGE SQL
   CONTAINS SQL
   DETERMINISTIC
   COLLATION INVOKER
   INLINE TYPE 1
   RETURN a * b * c;
   CREATE TABLE t1 (a1 BYTEINT, b1 INT);
   SELECT test.MyUDF(t1.a1, t1.b1, 2) FROM t1;