SQL Server 資料類型 (1)

基本介紹

教學目標

初步了解 SQL Server 所能使用的數值資料類型。

重點概念

在 SQL Server 中,每個資料行、區域變數、運算式和參數都有相關的資料類型,資料類型是指定物件所能保留之資料類型的屬性,其中數值資料類型可分為四大類:

  1. 整數資料類型
    主要儲存正負整數的數值資料,但沒有小數,分別為 tinyint 、 smallint 、 int 、 bigint 。

  2. 浮點數資料類型
    主要儲存浮點數的數值資料,遵循 IEEE 754 標準,分別為 float(n) 和 real 。

  3. 貨幣資料類型
    主要儲存貨幣的數值資料,以符合實際貨幣輸入的格式,分別為 money 和 smallmoney 。

  4. 精確小數資料類型
    主要儲存包含小數的數值資料,而且完全保留數值資料的精確度,分別為 decimal(p, s) 和 numeric(p, s) 。

(註: 其中 p 全名為 Precision 代表全部位數 和 s 全名為 Scale 代表小數位數,建議採用遵循 ANSI-SQL 92 標準的 decimal。)

並且根據不同的數值資料類型會有不同的資料範圍與資料大小,如下表所示。

資料類型 資料範圍 資料大小
tinyint 0 ~ 255 1 Bytes
smallint -32,768 ~ 32,767 2 Bytes
int -2,147,483,648 ~ 2,147,483,647 4 Bytes
bigint -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 8 Bytes
float(n) -1.79E+308 ~ 1.79E+308 4 Bytes(1<=n<=24) , 8 Bytes(25<=n<=53)
real -3.40E+38 ~ 3.40E+38 4 Bytes
smallmoney -214,748.3648 ~ 214,748.3647 4 Bytes
money -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 8 Bytes
decimal(p,s) -10 的 35 次方 - 1 ~ 10 的 35 次方 - 1 5 ~ 17 Bytes
numeric(p,s) -10 的 35 次方 - 1 ~ 10 的 35 次方 - 1 5 ~ 17 Bytes

最後請根據需求採用最佳的數值資料類型,例如: 若要儲存固定位數和小數的精確數值,最適合採用 decimal 或 numeric 。

相關資源