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 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 may be treated differently. 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`

.

Spec-Zone.ru - all specs in one place