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 data type
BINARY_DOUBLE : 64-bit floating point number.
This datatype requires 9 bytes, including the length byte.