MySQL5逆引き大全460の極意

データ型の極意 - Tips184 小数点数を厳密に表現するには

登録タグ
SQL
Icon comment count 0
Icon stock count 0

7-1数値型Tips184 小数点数を厳密に表現するには

Level1

PointDECIMAL、NUMERICなどの固定小数点型を利用します

小数点を表すデータ型は、大きく浮動小数点型固定小数点型とに分類でき、それぞれ対照的な長所/短所を持っているので注意してください。

まず、FLOAT/DOUBLEに代表される浮動小数点型は、小さなデータサイズで広範なデータ範囲を表せる、比較的高速に処理できるなどのメリットがあります。一方で、繰り返し演算を行うような局面では情報落ちが生じやすいという問題があります。この誤差は多くの場合はさほど問題になるものではありませんが、財務計算のように厳密さを要求される局面では不具合の原因となる場合があります。

そのようなケースでは、固定小数点型を利用するべきです。固定小数点数は、浮動小数点型と較べるとデータの格納効率は落ちます(つまり、より大きなディスク領域を占有します)が、その分、有効桁数までの正しい結果を保証できます。

固定小数点型に分類できるのは、表のデータ型です。

表 主な固定小数点型(len:全体桁数、dec:小数点以下の桁数)

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません