Oracle NUMBER
types are stored as sets of centesimal digits (that is base 100
, not base 10
), one digit per byte.
The first byte represents the exponent, other bytes represent mantissa.
That means that for extremely large numbers, even the integer numbers can be rounded:
SELECT 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
FROM dual
---
0