Oracle Numeric Data Types

The NUMBER data type is used to store zero, negative, positive, fixed, and floating point numbers with up to 38 digits of precision. Numbers range between 1.0×10 -130 and 1.0×10 126.

Numbers data type can be defined in following ways:

NUMBER(p,s) data type

where p is the precision up to 38 digits and s is the scale (number of digits to the right of the decimal point). The scale can range between -84 to 127.
NUMBER(p,s) : Number having precision p and scale s.
The precision p can range from 1 to 38.
The scale s can range from -84 to 127.

NUMBER (p) data type

This is a fixed-point number with a scale of zero and a precision of p.

FLOAT[(p)] data type

Oracle supports the ANSI data type FLOAT. Therefore, specifying a floating-point number you can use FLOAT data type instead of NUMBER data type.
p is the binary precision that can range from 1 to 126. If p is not specified the default value is binary 126. To convert from binary to decimal precision, multiply p by 0.30103. To convert from decimal to binary precision, multiply the decimal precision by 3.32193. 126 digits of binary precision is roughly equivalent to 38 digits of decimal precision.

BINARY_FLOAT data type

BINARY_FLOAT : 32-bit floating point number.
This datatype requires 5 bytes, including the length byte


BINARY_DOUBLE : 64-bit floating point number.
This datatype requires 9 bytes, including the length byte.