Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
Normal
Description
While CASTs from DATE/TIME to VARCHAR and from INTEGER to CHAR are allowed, the conversion from INTEGER to VARCHAR is not supported.
The statement
VALUES CAST(123 as VARCHAR(10))
produces the error
Cannot convert types 'INTEGER' to 'VARCHAR'.
The function org.apache.derby.impl.sql.compile.BaseTypeCompiler.numberConvertible() returns false for a conversion from INTEGER to VARCHAR. This is documented within a comment in the source code, but it's not documented why.this is so.
(Another documented rule in numberConvertible() is that floating point types can only be converted to CHAR by the CHAR() function and not with a CAST. There is also no indication of why this is so.)
See also DERBY-1289, DERBY-1306 and DERBY-1804.
Attachments
Issue Links
- is part of
-
DERBY-3662 Derby should support the SQL 2003 explict casting behavior
- Open