Что именно M, D означает в десятичной (M, D) точно? - PullRequest
7 голосов
/ 30 ноября 2009

Кто-нибудь знает об этом?

Ответы [ 3 ]

19 голосов
/ 30 ноября 2009

Как документы говорят:

M - максимальное количество цифр ( точность). Диапазон значений от 1 до 65. (Старые версии MySQL допускали диапазон от 1 до 254.)

D - количество цифр справа десятичной точки (шкала). Это имеет диапазон от 0 до 30 и не должен быть больше чем М.

Таким образом, M обозначает Максимум (общее количество цифр), D обозначает Десятичные знаки (количество цифр справа от десятичной точки).

6 голосов
/ 30 ноября 2009

https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

Синтаксис объявления для столбца DECIMAL - DECIMAL (M, D). Диапазоны значений для аргументов в MySQL 5.1 следующие:

  • M - максимальное количество цифр (точность). Диапазон значений от 1 до 65. (В старых версиях MySQL диапазон от 1 до 254.)
  • D - количество цифр справа от десятичной точки (шкала). Он имеет диапазон от 0 до 30 и должен быть не больше M.

[Примечание: ссылка выше была обновлена, чтобы указывать на документы MySQL 5.7, но текст цитировался из документов MySQL 5.1.]

2 голосов
/ 30 ноября 2009

документ говорит:

Синтаксис объявления для столбца DECIMAL остается DECIMAL (M, D), хотя диапазон значений для аргументов несколько изменился:

  • M - максимальное количество цифр (точность). Он имеет диапазон от 1 до 65. Это вносит возможную несовместимость для старых приложений, поскольку предыдущие версии MySQL допускают диапазон от 1 до 254. (Точность 65 цифр фактически применяется с MySQL 5.0.6. до 5.0.5 точность составляет 64 цифры.)

  • D - количество цифр справа от десятичной точки (шкала). Он имеет диапазон от 0 до 30 и не должен превышать M.

...