web-dev-qa-db-ja.com

精度とスケールの違いは何ですか?

Oracleの精度とスケールの違いは何ですか?チュートリアルでは、通常、主キーを作成するときにスケールを空のままにし、精度を6に設定します。

精度とスケールは何を表していますか?

121
user700792

精度4、スケール2:99.99

精度10、スケール0:9999999999

精度8、スケール3:99999.999

精度5、スケール-3:99999000

180
koljaTM

精度は有効桁数です。 Oracleは、1〜38の精度で数値の移植性を保証します。

スケールは、小数点の右側(正)または左側(負)の桁数です。スケールの範囲は-84〜127です。

あなたの場合、精度6のIDは、有効数字が7以上の数字を受け入れないことを意味します。

参照:

http://download.Oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832

そのページには、精度とスケールを理解するためのいくつかの例もあります。

55
manojlds

Precisionは総桁数です。 Scaleは、小数点以下の桁数です。

例:
NUMBER(7,5):12.12345
NUMBER(5,0):12345

50
Ayman

たぶんもっと明確:

精度は合計桁数であり、スケールが含まれることに注意してください

NUMBER(精度、スケール)

精度5、スケール3:54.321

精度5、スケール1:5432.1

精度5、スケール0:54321

精度5、スケール-1:54320

精度5、スケール-3:54000

28

スケールは、小数点(またはロケールに応じてコロン)の後の桁数です

精度は有効数字の合計数です

scale VS precision

6
ylerjen

精度:基数ポイントの前後の総桁数。例:123.456ここでの精度は6です。

スケール:基数ポイントの後の総桁数。例:123.456こちらScaleis 3

1
Bablu Gope