2013-10-05 30 views
9

私のデータベースに格納する必要があるサーバーからいくつかの値が入っています。私はMySQLのエキスパートではありませんが、基本的な入出力について十分に理解しています。今私は、次の小数点以下を格納するときにどのような長さを使用すべきかを理解しようとしています。MySQL:小数点以下のデータ型のサイズ

tax_rate [DECIMAL ?,?]: value(0.014840000000) 
units [DECIMAL ?,?]: value(1.00) 
initial_charge [DECIMAL ?,?]: value(2.5110) 
charge [DECIMAL ?,?]: value(2.8967) 
link_tax [DECIMAL ?,?]: value(0.385652) 
exempt [DECIMAL ?,?]: value(0.0000) 
tax [DECIMAL ?,?]: value(0.042986) 
base_price [DECIMAL ?,?]: value(41.8500) 

私は誰かが私も、これらの値のために使用し、彼らは値を選んだ理由を説明する必要があり、正しいデータ長を提案する可能性が願っています。または、MySQLの小数点以下の桁数について説明する記事にリンクしてください。

ご協力いただければ幸いです。

ありがとうございました!

------- 編集 --------

mysqlのドキュメントを読んだ後、これは私があることを、次の小数点以下の長さを解決してきたものである:

tax_rate [DECIMAL 15,12]: value(0.014840000000) ? max(999.999999999999) 
units [DECIMAL 6,2]: value(1.00) ? max(9999.99) 
initial_charge [DECIMAL 9,4]: value(2.5110) ? max(99999.9999) 
charge [DECIMAL 9,4]: value(2.8967) ? max(99999.9999) 
link_tax [DECIMAL 9,6]: value(0.385652) ? max(999.999999) 
exempt [DECIMAL 9,4]: value(0.0000) ? max(9999.9999) 
tax [DECIMAL 10,6]: value(0.042986) ? max(999999.999999) 
base_price [DECIMAL 10,4]: value(41.8500) ? max(999999.9999) 
MySQLから
+3

詳細:http://dev.mysql.com/doc/refman/5.0/en/fixed-point-types.htmlの公式ドキュメント – Amadan

答えて

22

DECIMAL列の宣言構文はDECIMAL(M、D)です。 MySQL 5.1の引数の値の範囲は、次のとおりです。

Mは、最大桁数(精度)です。これは、1 65までの範囲(のMySQLの古いバージョンは、254に1の範囲を許可)

Dは小数点以下の桁数( スケール)で有します。これは、30から0の範囲を持っており、この数を検討

M.

を超えないようにする必要があります。ここ123456789.12345 M5、あなたがのためにDECIMALS(M、D)を設定することができ、この原理に基づいている 14Dです各列は期待される最大値に基づいています。

+1

驚くばかりです。それは基本的にそれを要約する...私は正しい値を反映するために自分の投稿を編集します。 – user0000001

+0

小数点はM-正しいに含まれていませんか? – zonabi

関連する問題