In expressions that use only integer types, Derby promotes the type of the result to at least INTEGER. In expressions that mix integer with non-integer types, Derby promotes the result of the expression to the highest type in the expression.
The following table shows the promotion of data types in expressions.
| Largest Type That Appears in Expression | Resulting Type of Expression |
|---|---|
| DOUBLE PRECISION | DOUBLE PRECISION |
| REAL | DOUBLE PRECISION |
| DECIMAL | DECIMAL |
| BIGINT | BIGINT |
| INTEGER | INTEGER |
| SMALLINT | INTEGER |
-- returns a double precision VALUES 1 + 1.0e0 -- returns a decimal VALUES 1 + 1.0 -- returns an integer VALUES CAST (1 AS INT) + CAST (1 AS INT)