Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: How many bytes does the datatype NUMBER use?
Its approximately the (assigned width of the number over two) + (two,
sometimes three).
If you need more specifics, I'm including the relevant doc from Oracle 8 Concepts following.
HTH, Yosi
""
Oracle stores numeric data in variable-length format. Each value is
stored in scientific notation, with one byte used to store the
exponent and up to 20 bytes to store the mantissa. (The resulting value
is limited to 38 digits of precision.) Oracle does not store
leading and trailing zeros. For example, the number 412 is stored in a
format similar to 4.12 x 10^2, with one byte used to store the
exponent (2) and two bytes used to store the three significant digits of
the mantissa (4, 1, 2).
Taking this into account, the column data size for a particular numeric data value NUMBER (p), where p is the precision of a given value (scale has no effect), can be calculated using the following formula:
1 byte (exponent) + FLOOR(p/2)+1 bytes (mantissa) + 1 byte (only for a negative number where the number of significant digits is less than 38) _______________________
Zero and positive and negative infinity (only generated on import from
Version 5 Oracle databases) are stored using unique
representations: zero and negative infinity each require one byte;
positive infinity requires two bytes.
""
Received on Wed Feb 09 2000 - 16:40:39 CST
![]() |
![]() |