Spec-Zone .ru
спецификации, руководства, описания, API

11.2.2. Типы неподвижной точки (Точное Значение) - DECIMAL,NUMERIC

DECIMAL и NUMERIC типы хранят точные числовые значения данных. Эти типы используются, когда важно сохранить точную точность, например с денежно-кредитными данными. В MySQL, NUMERIC реализуется как DECIMAL, так неотступно следующие комментарии DECIMAL применяйтесь одинаково к NUMERIC.

Хранилища MySQL 5.7 DECIMAL значения в двоичном формате. См. Раздел 12.19, "Математика Точности".

В a DECIMAL объявление столбца, точность и масштаб могут быть (и обычно), определенный; например:

salary DECIMAL(5,2)

В этом примере, 5 точность и 2 масштаб. Точность представляет число существенных цифр, которые сохранены для значений, и масштаб представляет число цифр, которые могут быть сохранены после десятичной точки.

Стандартный SQL требует этого DECIMAL(5,2) будьте в состоянии сохранить любое значение пятью цифрами и двумя десятичными числами так значения, которые могут быть сохранены в salary диапазон столбца от -999.99 к 999.99.

В стандартном SQL, синтаксисе DECIMAL(M) эквивалентно DECIMAL(M,0). Точно так же синтаксис DECIMAL эквивалентно DECIMAL(M,0), где реализации разрешают решить значение M. MySQL поддерживает обе из этих различных форм DECIMAL синтаксис. Значение по умолчанию M 10.

Если масштаб 0, DECIMAL значения не содержат десятичной точки или дробной части.

Максимальное количество цифр для DECIMAL 65, но фактический диапазон для данного DECIMAL столбец может быть ограничен точностью или масштабом для данного столбца. Когда такой столбец присваивается значение с большим количеством цифр после десятичной точки, чем разрешается указанным масштабом, значение преобразовывается в тот масштаб. (Точное поведение работает специфичный для системы, но обычно эффект является усечением к допустимому числу цифр.)