2009-11-30 12 views

答えて

15

としては言う:

Mは最大桁数( 精度)です。これは、Dは小数点(スケール)の右側 桁の数である

(のMySQLの古いバージョンは、254 1〜 範囲を許容)65 1の範囲を有します。それ は小数点の右側に(桁数を0〜30の範囲を有し、M.

より大きくない だからMが最大(桁全体の数)を表し、Dは小数点以下の桁数を表してはなりませんポイント)。

+0

非常に便利な説明、MとDの関係を分解していただきありがとうございます。私はドキュメントからそれを選ぶのは難しい時でした。 – Xenology

5

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から引用しました。 。ドキュメント]

the docs
1

docは言う:引数の値の範囲が多少変化したものの、DECIMAL列の

宣言構文は、DECIMAL(M、D)のまま:

  • Mであります最大桁数(精度)以前のバージョンのMySQLでは1〜254の範囲が許されていたため、古いアプリケーションでは互換性がない可能性があります(実際には65桁の精度がMySQL 5.0.6から適用されます。 〜5.0.5の場合、精度は64桁です。

  • Dは、小数点以下の桁数(縮尺)です。これは、30から0の範囲を持っており、M.

関連する問題