Oracleの精度とスケールの違いは何ですか?チュートリアルでは、通常、主キーを作成するときにスケールを空のままにし、精度を6に設定します。
精度とスケールは何を表していますか?
精度4、スケール2:99.99
精度10、スケール0:9999999999
精度8、スケール3:99999.999
精度5、スケール-3:99999000
精度は有効桁数です。 Oracleは、1〜38の精度で数値の移植性を保証します。
スケールは、小数点の右側(正)または左側(負)の桁数です。スケールの範囲は-84〜127です。
あなたの場合、精度6のIDは、有効数字が7以上の数字を受け入れないことを意味します。
参照:
http://download.Oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
そのページには、精度とスケールを理解するためのいくつかの例もあります。
Precisionは総桁数です。 Scaleは、小数点以下の桁数です。
例:
NUMBER(7,5):12.12345
NUMBER(5,0):12345
たぶんもっと明確:
精度は合計桁数であり、スケールが含まれることに注意してください
NUMBER(精度、スケール)
精度5、スケール3:54.321
精度5、スケール1:5432.1
精度5、スケール0:54321
精度5、スケール-1:54320
精度5、スケール-3:54000
精度:基数ポイントの前後の総桁数。例:123.456ここでの精度は6です。
スケール:基数ポイントの後の総桁数。例:123.456こちらScaleis 3