16.20 - Argument Types and Rules - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL Functions, Expressions, and Predicates

Teradata Database
Teradata Vantage NewSQL Engine
March 2019
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