Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: How many bytes does the number data type take internally?
Eric wrote:
>
> How do you calculate it?
>
> Thank you
Check server concepts manual
Internal Numeric Format
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. (However, there are only 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) _______________________
--
"Some days you're the pigeon, and some days you're the statue." Received on Mon Jul 12 1999 - 08:58:44 CDT