Oracleの精度とスケールの違いは何ですか?チュートリアルでは通常、主キーを作成するときにスケールを空のままにし、精度を6に設定します。
精度とスケールは何を表していますか?
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
このページには、精度とスケールを理解できるいくつかの例もあります。
精度は桁数の合計で、1〜38の範囲で指定できます。
スケールは小数点以下の桁数で、丸めのために負の値として設定することもできます。
例:
NUMBER(7,5):12.12345
NUMBER(5,0):12345
ORACLE Webサイトの詳細:https :
//docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
多分もっと明確:
精度は桁数の合計であり、スケールが含まれていることに注意してください
NUMBER(精度、スケール)
精度8、スケール3:87654.321
精度5、スケール3:54.321
精度5、スケール1:5432.1
精度5、スケール0:54321
精度5、スケール-1:54320
精度5、スケール-3:54000
値が9999.988で精度4、スケール2の場合、9999(精度を表す)を意味します。99(スケールは2なので、.988は.99に丸められます)
値が9999.9887で精度が4の場合、スケールは2で、9999.99を意味します