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)。