Numeric operands
Numeric types are compatible only with other numeric types.
| One operand | Other operand | Data type of the result |
|---|---|---|
| SMALLINT | SMALLINT | SMALLINT |
| INTEGER | INTEGER | INTEGER |
| INTEGER | SMALLINT | INTEGER |
| BIGINT | SMALLINT | BIGINT |
| BIGINT | INTEGER | BIGINT |
| BIGINT | BIGINT | BIGINT |
| DECIMAL(w,x) | SMALLINT | DECIMAL(p,x) where
p = x+max(w-x,5)1 |
| DECIMAL(w,x) | INTEGER | DECIMAL(p,x) where
p = x+max(w-x,11)1 |
| DECIMAL(w,x) | BIGINT | DECIMAL(p,x) where
p = x+max(w-x,19)1 |
| DECIMAL(w,x) | DECIMAL(y,z) | DECIMAL(p,s) where
p = max(x,z)+max(w-x,y-z)1s = max(x,z) |
| REAL | REAL | REAL |
| REAL | DECIMAL, BIGINT, INTEGER, or SMALLINT | DOUBLE |
| REAL | BIGINT | DOUBLE |
| DOUBLE | DOUBLE, REAL, DECIMAL, BIGINT, INTEGER, or SMALLINT | DOUBLE |
| DECFLOAT(n) | SMALLINT | DECFLOAT(n) |
| DECFLOAT(n) | INTEGER | DECFLOAT(n) |
| DECFLOAT(n) | BIGINT | DECFLOAT(34) |
| DECFLOAT(n) | DECIMAL(<=16,s) | DECFLOAT(n) |
| DECFLOAT(n) | DECIMAL(>16,s) | DECFLOAT (34) |
| DECFLOAT(n) | REAL | DECFLOAT(n) |
| DECFLOAT(n) | DOUBLE | DECFLOAT(n) |
| DECFLOAT(n) | DECFLOAT(m) | DECFLOAT(max(n,m)) |
Notes:
|
||