MySQL 小数点 Decimal型の設定
MySQLに小数点のデータを格納する際、Decimal型に設定した場合の設定方法です。
公式ページの説明が分かりにくかったので、書いておきます。
http://dev.mysql.com/doc/refman/5.1/ja/precision-math-decimal-changes.html
DECIMAL カラムに対する宣言構文は DECIMAL(M,D) です。
- M は最大桁数(精度)です。それには1から65までの範囲が含まれています。(古いバージョンの MySQL では、1から254までの範囲が許容されています。)
- D は少数点(スケール)の右側にある数字の桁数です。それは0から30までの範囲であり、M より広くてはいけません。
ということですが、つまりMは全部の桁数、Dは小数点以下の桁数です。
3088.567
という数字を入れたい場合は、
DECIMAL(7,3)
となります。
ちなみに、phpMyAdminを利用している場合は項目「長さ/セット」にこの数字を記入します。
表示桁に足りない場合に、0を表示させたい場合は、「表示する」という項目に「UNSIGNED ZEROFILL」を入れます。
//例:先ほどの3088.567を1万の桁から表示させたい場合 DECIMAL(8,3) UNSIGNED ZEROFILL //結果 03088.567