##
24.1. Types of Numeric Values

The scope of precision math for exact-value operations includes
the exact-value data types (`DECIMAL`

and integer
types) and exact-value numeric literals. Approximate-value data
types and numeric literals still are handled as floating-point
numbers.

Exact-value numeric literals have an integer part or fractional
part, or both. They may be signed. Examples: `1`

,
`.2`

, `3.4`

,
`-5`

, `-6.78`

,
`+9.10`

.

Approximate-value numeric literals are represented in scientific
notation with a mantissa and exponent. Either or both parts may be
signed. Examples: `1.2E3`

,
`1.2E-3`

, `-1.2E3`

,
`-1.2E-3`

.

Two numbers that look similar need not be both exact-value or both
approximate-value. For example, `2.34`

is an
exact-value (fixed-point) number, whereas
`2.34E0`

is an approximate-value (floating-point)
number.

The `DECIMAL`

data type is a fixed-point type and
calculations are exact. In MySQL, the `DECIMAL`

type has several synonyms: `NUMERIC`

,
`DEC`

, `FIXED`

. The integer
types also are exact-value types.

The `FLOAT`

and `DOUBLE`

data
types are floating-point types and calculations are approximate.
In MySQL, types that are synonymous with `FLOAT`

or `DOUBLE`

are ```
DOUBLE
PRECISION
```

and `REAL`

.