If the argument is not numeric, it is converted to a numeric value, based on implicit type conversion rules. If the argument cannot be converted, an error is reported. For more information on implicit type conversion, see Teradata Vantage™ - Data Types and Literals, B035-1143.
If arg is a character string, it is converted to a numeric value of the 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
- DateTime
- Interval
To define an implicit cast for a UDT, use the CREATE CAST statement and specify the AS ASSIGNMENT clause. For more information on CREATE CAST, see Teradata Vantage™ - SQL Data Definition Language Syntax and Examples, B035-1144.
- Implicit type conversion of UDTs for system operators and functions, including ABS, 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.
ABS cannot be applied to the following types of arguments:
- BYTE or VARBYTE
- BLOB or CLOB
- CHARACTER or VARCHAR if the server character set is GRAPHIC