Numeric-to-UDT Conversion
Purpose
Converts numeric data to UDT data.
CAST Syntax
where:
Syntax element … |
Specifies … |
numeric_expression |
a numeric expression to be cast to a UDT. |
UDT_data_definition |
the UDT type, followed by any optional FORMAT, NAMED or TITLE data attribute phrases, to which numeric_expression is to be converted. |
ANSI Compliance
This is ANSI SQL:2011 compliant.
As an extension to ANSI, CAST permits the use of data attribute phrases such as FORMAT.
Usage Notes
Explicit numeric-to-UDT conversion using Teradata conversion syntax is not supported.
Data type conversions involving UDTs require appropriate cast definitions for the UDTs. To define a cast for a UDT, use the CREATE CAST statement. For more information on CREATE CAST, see SQL Data Definition Language.
Implicit Numeric-to-UDT Conversion
Teradata Database performs implicit Numeric-to-UDT conversions for the following operations:
Performing an implicit data type conversion requires that an appropriate cast definition (see “Usage Notes”) exists that specifies the AS ASSIGNMENT clause.
The source numeric type of the cast definition does not have to be an exact match to the source numeric type of the implicit conversion. Teradata Database can use an implicit cast definition that specifies a BYTEINT, SMALLINT, INTEGER, BIGINT, DECIMAL/NUMERIC, NUMBER, or REAL/FLOAT/DOUBLE target type.
If multiple implicit cast definitions exist for converting different numeric types to the UDT, Teradata Database uses the implicit cast definition for the numeric type with the highest precedence. The following list shows the precedence of numeric types in order from lowest to highest precedence:
If no numeric-to-UDT implicit cast definitions exist, Teradata Database looks for other cast definitions that can substitute:
IF the following combination of implicit cast definitions exists … |
THEN Teradata Database … |
|
DATE-to- |
Character-to-UDT |
|
X |
|
uses the DATE-to-UDT implicit cast definition. |
|
X |
uses the character-to-UDT implicit cast definition. The character type cannot be CLOB. If multiple character-to-UDT implicit cast definitions exist, then Teradata Database returns an SQL error. |
X |
X |
reports an error. |
Substitutions are valid because Teradata Database can implicitly cast a numeric type to the substitute data type, and then use the implicit cast definition to cast from the substitute data type to the UDT.
Related Topics
For details on data types and data attributes, see SQL Data Types and Literals.