Performing an implicit data type conversion requires that an appropriate cast definition (see Usage Notes) exists that specifies the AS ASSIGNMENT clause.
SQL Engine performs implicit DATE-to-UDT conversions for the following operations:
- 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, unless the DisableUDTImplCastForSysFuncOp field of the DBS Control Record is set to TRUE
If no DATE-to-UDT implicit cast definition exists, Vantage looks for other cast definitions that can substitute.
IF the following combination of implicit cast definitions exists … | THEN SQL Engine … | |
---|---|---|
Numeric-to-UDT | Character-to-UDT a non-CLOB character type |
|
X | uses the Numeric-to-UDT implicit cast definition. If multiple Numeric-to-UDT implicit cast definitions exist, then SQL Engine returns an SQL error. |
|
X | uses the Character-to-UDT implicit cast definition. If multiple Character-to-UDT implicit cast definitions exist, then SQL Engine returns an SQL error. |
|
X | X | reports an error. |
Substitutions are valid because Vantage can implicitly cast a DATE type to the substitute data type, and then use the implicit cast definition to cast from the substitute data type to the UDT.