Что именно означает M, D в десятичной системе счисления (M, D)?
Вопрос
Кто-нибудь знает об этом?
Решение
Как говорят документы
M - максимальное количество цифр ( точность). Диапазон значений от 1 до 65. (Старые версии MySQL допускали диапазон от 1 до 254.)
D - количество цифр справа десятичной точки (шкала). Это имеет диапазон от 0 до 30 и не должен быть больше чем М.
Таким образом, M обозначает Максимум (общее количество цифр), D обозначает Десятичные знаки (количество цифр справа от десятичной точки).
Другие советы
https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
Синтаксис объявления для ДЕСЯТИЧНОГО столбца - DECIMAL(M,D).Диапазоны значений для аргументов в MySQL 5.1 следующие:
- M - максимальное количество цифр (точность).Он имеет диапазон от 1 до 65.(Более старые версии MySQL допускали диапазон от 1 до 254.)
- D - количество цифр справа от десятичной запятой (шкалы).Он имеет диапазон от 0 до 30 и должен быть не больше M.
[Примечание:ссылка выше была обновлена, чтобы указывать на документы MySQL 5.7, но текст был процитирован из документов MySQL 5.1.]
Тот Самый док говорит:
Синтаксис объявления десятичного столбца остается ДЕСЯТИЧНЫМ (M,D), хотя диапазон значений аргументов несколько изменился:
M - максимальное количество цифр (точность).Он имеет диапазон от 1 до 65.Это приводит к возможной несовместимости для старых приложений, поскольку предыдущие версии MySQL допускают диапазон от 1 до 254.(Точность в 65 цифр фактически применяется начиная с MySQL 5.0.6.С 5.0.3 по 5.0.5 точность составляет 64 цифры.)
D - количество цифр справа от десятичной запятой (шкалы).Он имеет диапазон от 0 до 30 и должен быть не больше M.