16.20 - Argument Types and Rules - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL Functions, Expressions, and Predicates

Teradata Database
Teradata Vantage NewSQL Engine
Programming Reference
Value of arg ZEROIFNULL Value Returned
Not null Value of the numeric argument.
Null or zero
A structured UDT column value is null only when you explicitly place a NULL in the column, not when a structured UDT instance has an attribute that is set to NULL.

If the argument is not numeric, the value is converted to a numeric value according to implicit type conversion rules. If the argument cannot be converted, an error is reported. For more information, see Teradata Vantage™ Data Types and Literals, B035-1143.

If arg is a character string, the string is converted to a numeric value of FLOAT data type.

If arg is a UDT, the following rules apply:
  • The UDT must have an implicit cast to any of the following predefined types:
    • Numeric
    • Character
    • DATE
    • Interval

      To define an implicit cast for a UDT, use the CREATE CAST statement and specify the AS ASSIGNMENT clause. For more information, see Teradata Vantage™ SQL Data Definition Language Syntax and Examples, B035-1144.

  • Implicit type conversion of UDTs for system operators and functions, including ZEROIFNULL, is a Teradata extension to the ANSI SQL standard. To disable this extension, set the DisableUDTImplCastForSysFuncOp field of the DBS Control Record to TRUE. For details, see Teradata Vantage™ - Database Utilities , B035-1102 .
ZEROIFNULL cannot be applied to the following types of arguments:
  • BLOB or CLOB
  • CHARACTER or VARCHAR if the server character set is GRAPHIC