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.