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:
|