# Re: Size of datatype NUMBER

From: Mark D Powell <Mark.Powell_at_eds.com>

Date: Wed, 25 Feb 2009 12:54:24 -0800 (PST)

Message-ID: <76fed78e-f2f0-4da1-98cd-9bfb6ea44a78_at_f24g2000vbf.googlegroups.com>

On Feb 25, 9:56 am, "gym dot scuba dot kennedy at gmail" <kenned..._at_verizon.net> wrote:

Date: Wed, 25 Feb 2009 12:54:24 -0800 (PST)

Message-ID: <76fed78e-f2f0-4da1-98cd-9bfb6ea44a78_at_f24g2000vbf.googlegroups.com>

On Feb 25, 9:56 am, "gym dot scuba dot kennedy at gmail" <kenned..._at_verizon.net> wrote:

*> "Norbert Pürringer" <thalio..._at_graffiti.net> wrote in message**>**> news:35dce30e-e971-4d23-97e3-bd0e07c18177_at_v15g2000yqn.googlegroups.com...> Hello,**>**> > what is the size of the Oracle datatype NUMBER in bytes?**>**> > Thank you,**> > Norbert**>**> It depends on the number. It can be as large as 22 bytes. In Oracle numbers**> are stores in base 100 so a good approximation is logbase10(the number)/2 +1**> . Numbers are internally expressed in scientific notation so 1,000,000,000**> isn't much larger than 10 in terms of storage. You can be empirical about**> it using vsize eg select vsize(mynumbercolumn) from mytable;*I have always just used the formula published by Oracle to approximate the internal storage needed for a numeric value: round((( length((p) + s) / 2)) + 1 where s = 0 for a positive number and 1 for a negative number

Note that powers of 10, that is, 100, 1000, 10000, 1000000 etc just need to increase the exponent.

HTH -- Mark D Powell -- Received on Wed Feb 25 2009 - 14:54:24 CST