1. ホーム
  2. sql

[解決済み】データベース内の数値の精度やスケールを解釈する方法は?

2022-04-03 14:15:49

質問

データベースで次の列を指定しています。

これはどのように解釈すればよいのでしょうか?

SQL Server Management Studioで見たカラムのプロパティによると、decimal(Numeric precision, Numeric scale)という意味であることがわかります。

精度とスケールは、実際にはどのような意味を持つのでしょうか?

5桁で小数点以下2桁の10進数として解釈するのは簡単です...つまり12345.12

追伸:同僚から正解を聞き出すことができましたが、ネット上で答えを見つけるのは非常に困難でした。そのため、今後の参考のために、この質問と回答をstackoverflowに記録しておきたいと思います。

解決方法は?

数値の精度とは、数値に含まれる最大桁数のことです。

つまり、1234567.89は9の精度です。

数値目盛りは、小数点以下の最大桁数を指します。

つまり、123456.789 は 3 のスケールです。

したがって、decimal(5,2) の最大許容値は 999.99 となります。