數值類型
bigint
- 含義:用于存儲大范圍的整數,是 8 字節(64 位)有符號整數類型。
- 范圍:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 。
- 場景:適合存儲像訂單編號(可能很大)、系統中需要大范圍計數的標識等,比如大型系統中大量數據的主鍵自增列(數據量極多,超出
int
范圍時)。
bit
- 含義:用于存儲布爾值,只能取 0、1 或
NULL
(部分數據庫實現中,也可能用BIT(1)
等形式,本質存布爾邏輯)。 - 特點:存儲高效,1 字節可存儲 8 個
bit
列(數據庫內部優化存儲)。 - 場景:表示開關狀態(如是否啟用、是否刪除標記)、邏輯判斷結果(是 / 否)等,比如用戶表中 “是否 VIP” 字段。
- 含義:用于存儲布爾值,只能取 0、1 或
decimal(18, 0)
、numeric(18, 0)
- 含義:
decimal
和numeric
是同義詞,用于存儲精確的定點數。(18, 0)
中,18 是精度(總共可存儲的數字位數),0 是小數位數(即存儲整數) 。 - 范圍:能精確存儲從 0 到 10^18 - 1 之間的整數(因精度和小數位設置 ),若調整小數位,范圍會變化。
- 場景:金融、財務領域存儲金額(當不需要小數,如統計總金額整數部分)、數量(必須精確計數,不能有浮點誤差)等,比如銀行賬戶的總存款(以分為單位的整數存儲時也可用,但一般金額場景可能設小數位 )。
- 含義:
float
- 含義:用于存儲近似數值的浮點型數據,屬于 IEEE 754 標準的單精度或雙精度浮點數(SQL Server 中
float
等價于float(53)
,是雙精度 )。 - 特點:存儲范圍大,但存在精度損失(不能精確表示所有小數 )。
- 場景:科學計算、工程模擬等對精度要求不是絕對精確,但需要大范圍數值的場景,比如物理實驗中的測量數據(可能有微小誤差可接受 )。
- 含義:用于存儲近似數值的浮點型數據,屬于 IEEE 754 標準的單精度或雙精度浮點數(SQL Server 中
money
、smallmoney
- 含義:專門用于存儲貨幣金額的數據類型。
money
是 8 字節,范圍約 -922 萬億
- 含義:專門用于存儲貨幣金額的數據類型。