types store exact numeric data values. These types are used when
it is important to preserve exact precision, for example with
monetary data. In MySQL,
DECIMAL, so the following
DECIMAL apply equally to
DECIMAL values in binary format.
See Section 12.24, “Precision Math”.
DECIMAL column declaration, the
precision and scale can be (and usually is) specified; for
In this example,
5 is the precision and
2 is the scale. The precision represents the
number of significant digits that are stored for values, and the
scale represents the number of digits that can be stored
following the decimal point.
Standard SQL requires that
able to store any value with five digits and two decimals, so
values that can be stored in the
column range from
In standard SQL, the syntax
Similarly, the syntax
DECIMAL is equivalent
where the implementation is permitted to decide the value of
M. MySQL supports both of these
variant forms of
DECIMAL syntax. The default
M is 10.
If the scale is 0,
DECIMAL values contain no
decimal point or fractional part.
The maximum number of digits for
65, but the actual range for a given
column can be constrained by the precision or scale for a given
column. When such a column is assigned a value with more digits
following the decimal point than are permitted by the specified
scale, the value is converted to that scale. (The precise
behavior is operating system-specific, but generally the effect
is truncation to the permissible number of digits.)