# DECIMAL(p) Floating Point

The DECIMAL data type stores decimal floating-point numbers
up to a maximum of 32 significant digits, where `p` is the total number of significant digits (the `precision`).

Specifying precision is optional. If you specify no precision
(`p`), DECIMAL is treated as DECIMAL(16), a floating-point
decimal with a precision of 16 places. DECIMAL(`p`) has an absolute exponent range between 10^{-130} and 10^{124}.

If you declare a DECIMAL(`p`) column
in an ANSI-compliant database, the scale defaults to DECIMAL(`p`, 0), meaning that only integer values can be stored in
this data type.

In a database that is not ANSI-compliant, a
DECIMAL(`p`) is a floating-point data type of a scale
large enough to store the exponential notation for a value.

1 byte for the sign of the data value

1 byte for the 1st digit

1 byte for the decimal point

4 bytes for the rest of the digits (precision of 5 - 1)

1 byte for the **e** symbol

1 byte for the sign of the exponent

3 bytes for the exponent

-------------------------------------------------

12 bytes total