Data type conversions involving UDTs require appropriate cast definitions for the UDTs. To define a cast for a UDT, use the CREATE CAST statement.
- UPDATE
- INSERT
- Passing arguments to stored procedures, external stored procedures, UDFs, and UDMs
- Specific system operators and functions identified in other sections of this document
Performing an implicit data type conversion requires that an appropriate cast definition exists that specifies the AS ASSIGNMENT clause.
The target numeric type of the cast definition does not have to be an exact match to the target numeric type of the implicit conversion. Vantage can use an implicit cast definition that specifies a BYTEINT, SMALLINT, INTEGER, BIGINT, DECIMAL/NUMERIC, NUMBER, or REAL/FLOAT/DOUBLE target type.
- BYTEINT
- SMALLINT
- INTEGER
- BIGINT
- DECIMAL/NUMERIC
- NUMBER
- REAL/FLOAT/DOUBLE
If no UDT-to-numeric implicit cast definitions exist, Vantage looks for other cast definitions that can substitute for the UDT-to-numeric implicit cast definition:
Implicit Cast Definition Combination | Analytics Database Action | |
---|---|---|
UDT-to-DATE | UDT-to-Character | |
X | Uses UDT-to-DATE implicit cast definition. | |
X | Uses UDT-to-character implicit cast definition. Character type cannot be CLOB. If multiple UDT-to-character implicit cast definitions exist, Analytics Database returns an SQL error. |
|
X | X | Returns an error. |
Substitutions are valid because Analytics Database can use the implicit cast definition to cast the UDT to the substitute data type, and then implicitly cast the substitute data type to a numeric type.