回覆列表
-
1 # 使用者352755821118
-
2 # 掙錢養溜溜
我一直把Number當成一種靈活的數值型別來使用。
不設小數位數,就當整形使用,如Number(8),表示8位整數;要設定小數位數,如Number(8,2),表示8位有效數字,保留2位小數。
-
3 # 使用者9870742173201
Number型別是oralce的數值型別,儲存的數值的精度可以達到38位。Number是一種變長型別,長度為0-22位元組。取值範圍為:10^(-130) —— 10^126(不包括)。以十進位制格式進行儲存的,它便於儲存,但是在計算上,系統會自動的將它轉換成為二進位制進行運算的。 語法: Number(p,s): p和s都是可選的。 p指精度(precision),即總位數。預設情況下精度為38。精度的取值範圍為1~38。 s指小數位(scale),小數點右邊的位數。小數點位數的合法值為-84~127。小數位的預設值由精度來決定。如果沒有指定精度,小數位預設為最大的取值區間。如果指定了精度,沒有指定小數位。小數位預設為0(即沒有小數位)。 精度和小數位不會影響資料如何儲存,只會影響允許哪些數值及數值如何舍入。
number資料型別
number型別是許多資料庫中的內建型別之一,number型別是數值型,包括整數和小數。
number(p,s):
Number的資料宣告
表示作用說明:
Number(p , s) :宣告一個定點數.
p(precision)為精度,在ORACLE中精度的範圍是(1,38),預設是38.Precision表示有效位數,有效數位:從左邊第一個不為0的數算起,小數點和負號不計入有效位數;
s(scale)表示小數點右邊的數字個數。 如果scale大於零,表示數字精確到小數點右邊的位數;scale預設設定為0;如果scale小於零,Oracle將把該數字取捨到小數點左邊的指定位數。scale表示精確到多少位,指精確到小數點左邊或右邊多少位(±決定)。
s的情況:
s > 0 :精確到小數點右邊s位,並四捨五入。然後檢查有效位是否 <= p.
s > 0 :精確到小數點左邊s位,並四捨五入。然後檢查有效位是否 <= p+|s|.
s = 0:此時number表示整數。