Oracle中的NUMBER类型的长度是由两个参数来确定的,即精度(precision)和标度(scale)。
精度是指数字的总位数,包括小数点前和小数点后的位数。标度是指小数点后的位数。
NUMBER(precision, scale)中,precision表示总位数的最大值,范围是1到38。scale表示小数点后的位数的最大值,范围是-84到127。
例子:
NUMBER(5,2)表示总共有5位,其中小数点后有2位,即最大值为999.99。
NUMBER(10,-2)表示总共有10位,其中小数点前有8位,即最大值为999999.99。
需要注意的是,如果未指定精度和标度,则默认值为NUMBER(38,0),即最大值为999…999(共有38个9)。