精確的數字
精確數字資料型別有兩個基本類 - 整數,固定精度和比例。
整數資料型別
- 位
- TINYINT
- SMALLINT
- INT
- BIGINT
整數是從不包含小數部分的數值,並始終使用固定數量的儲存。整數資料型別的範圍和儲存大小如下表所示:
資料型別 | 範圍 | 儲存 |
---|---|---|
位 | 0 或 1 | 1 位** |
TINYINT |
0 到 255 | 1 個位元組 |
SMALLINT |
-2 ^ 15(-32,768)到 2 ^ 15-1(32,767) | 2 個位元組 |
INT |
-2 ^ 31(-2,147,483,648)到 2 ^ 31-1(2,147,483,647) | 4 位元組 |
BIGINT |
-2 ^ 63(-9,223,372,036,854,775,808)至 2 ^ 63-1(9,223,372,036,854,775,807) | 8 個位元組 |
修復了精度和比例資料型別
- 數字
- 十進位制
- SMALLMONEY
- 錢
這些資料型別可用於準確表示數字。只要值可以在資料型別中可儲存的值範圍內,該值就不會出現舍入問題。這對於任何財務計算都很有用,其中舍入誤差將導致會計師的臨床精神錯亂。
請注意, decimal 和 numeric 是同一資料型別的同義詞。
資料型別 | 範圍 | 儲存 |
---|---|---|
十進位制[(p [,s])]或數字[(p [,s])] | -10 ^ 38 + 1 到 10 ^ 38 - 1 | 請參見精密表 |
定義十進位制或數字資料型別時,可能需要指定 Precision [p]和 Scale [s]。
精度是可以儲存的位數。例如,如果需要儲存介於 1 和 999 之間的值,則需要精度為 3(將三位數保持為 100)。如果未指定精度,則預設精度為 18。
Scale 是小數點後的位數。如果需要儲存介於 0.00 和 999.99 之間的數字,則需要指定 5 的精度(5 位數)和 2 的刻度(小數點後的兩位數)。你必須指定精度以指定比例。預設比例為零。
十進位制或數字資料型別的精度定義了儲存值所需的位元組數,如下所示:
精密工作臺
精確 | 儲存位元組 |
---|---|
1 - 9 | 五 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |
貨幣固定資料型別
這些資料型別專門用於會計和其他貨幣資料。這些型別具有固定的 4 級 - 你將始終在小數位後看到四位數。對於使用大多數貨幣的大多數系統,使用 Scale 為 2 的數值就足夠了。請注意,沒有關於所表示貨幣型別的資訊與值一起儲存。
資料型別 | 範圍 | 儲存 |
---|---|---|
錢 | -922,337,203,685,477.5808 至 922,337,203,685,477.5807 | 8 個位元組 |
SMALLMONEY |
-214,748.3648 至 214,748.3647 | 4 位元組 |