• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DECIMALの範囲について)

DECIMALの範囲について

このQ&Aのポイント
  • DECIMALの範囲について理解を得るためには、MとDの値によって制限される個々のDECIMALカラムの範囲を認識する必要があります。
  • DECIMALの最大表示サイズは255であり、小数点型では小数点以下の桁数を表し、最大値は30ですが、M-2より大きくしないようにする必要があります。
  • DECIMALはUNSIGNEDを指定した場合は負数が使用できず、Dを省略した場合はデフォルトが0、Mを省略した場合はデフォルトが10です。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

お使いのMYSQLのバージョンを記載されると説明しやすいと思います。 4.1と5.1のリファレンスマニュアルでは以下のリンクのように説明されて います。 http://dev.mysql.com/doc/refman/4.1/ja/numeric-types.html http://dev.mysql.com/doc/refman/5.1/ja/precision-math-decimal-changes.html DECLMAL型の取り扱いは結構変遷があるみたいですが、私が使っている Mysql5.0.51aでは、DECIMAL(M,D)とあった場合は、全体の桁数(少数 点含まず)をMで指定し、小数点以下の桁数をDで指定します。 Mの最大値は65、Dの最大値は30です。かつM>=Dである必要があります。 FLOAT、DOUBLEと違いDECIMALは浮動小数点誤差を生じません。 後、どこが分からないか補足いただけると、説明しやすいと思うのですが

googoohoge
質問者

お礼

nora1962さん、回答ありがとうございます。 >後、どこが分からないか補足いただけると、説明しやすいと思うのですが その通りですよね。 まさに >Mysql5.0.51aでは、DECIMAL(M,D)とあった場合は、全体の桁数(少数 >点含まず)をMで指定し、小数点以下の桁数をDで指定します。 >Mの最大値は65、Dの最大値は30です。かつM>=Dである必要がありま >す。 ここが知りたかったのです。 CREATE文を発行する時にいろいろエラーで怒られていたもので 表記上留意しなければならない点について知りたかったのです。

関連するQ&A