首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 系統數據類型完整參考手冊:30 種類型定義、範圍、存儲與選型指南

     編輯:關於SqlServer

數值類型

類型範圍 / 精度存儲 (Bytes)適用場景
bigint-2^63 ~ 2^63-18極大整數標識、高併發序列
int-2^31 ~ 2^31-14標準整數主鍵、計數器(首選)
smallint-2^15 ~ 2^15-12狀態碼、小範圍枚舉、節省空間
tinyint0 ~ 2551布爾擴展、極小枚舉、位掩碼
bit0/1/NULL1 (8列打包1字節)真/假標誌、權限掩碼
decimal / numeric-10^38+1 ~ 10^38-1,精度 p(1-38),小數位 s(0-p)5-17財務金額、精確計量、固定小數位
money-2^63 ~ 2^63-1,精確到 0.00018貨幣數據、T-SQL 專用運算優化
smallmoney-214,748.3648 ~ 214,748.36474小額貨幣、節省空間
float(n)-1.79E+308 ~ 1.79E+308,n(1-53) 二進制精度4/8科學計算、近似數值、大動態範圍
real-3.40E+38 ~ 3.40E+38 (float(24))4單精度浮點、兼容性

日期時間類型

類型範圍精度存儲備註
datetime1753-01-01 ~ 9999-12-313.33 毫秒8通用業務日期時間
smalldatetime1900-01-01 ~ 2079-06-061 分鐘4不需秒精度的日志、排程

字符串類型

類型最大長度Unicode存儲選型建議
char(n)8,000否n 字節固定長度代碼、ISO 標準碼
varchar(n)8,000否實際長度+2變長非 Unicode 文本(首選)
nchar(n)4,000是2n 字節固定長度多語言代碼
nvarchar(n)4,000是2*(實際長度)+2變長多語言文本(首選)
text2^31-1 字符否LOB**棄用**,改用 varchar(max)
ntext2^30-1 字符是LOB**棄用**,改用 nvarchar(max)

二進制類型

類型最大長度存儲備註
binary(n)8,000n 字節固定長度二進制(哈希、加密輸出)
varbinary(n)8,000實際長度+2變長二進制(文件流、圖片)
image2^31-1 字節LOB**棄用**,改用 varbinary(max)

特殊類型

類型用途關鍵特性
cursor游標變量/OUTPUT 參數引用游標結果集
timestamp / rowversion樂觀並發版本戳數據庫全局唯一、自動更新、非時間
uniqueidentifier全局唯一標識符 (GUID)16 字節、NEWID()/NEWSEQUENTIALID()
sql_variant存儲多種基礎類型值除 text/ntext/image/timestamp/sql_variant 外任意類型
table表變量/函數返回表內存優化、臨時結果集
sysname系統物件名稱nvarchar(128) 同義詞

選型決策樹(簡版)

  1. 整數標識 → INT IDENTITY(首選),超 21 億 → BIGINT。
  2. 金額/精確小數 → DECIMAL(19,4) 或 MONEY。
  3. 近似計算 → FLOAT(53) (即 FLOAT)。
  4. 多語言文本 → NVARCHAR(n),純 ASCII → VARCHAR(n)。
  5. 大對象 (LOB) → VARCHAR(MAX)/NVARCHAR(MAX)/VARBINARY(MAX)(SQL 2005+)。
  6. 版本控制/並發 → ROWVERSION。
  7. 分布式標識 → UNIQUEIDENTIFIER (NEWSEQUENTIALID 避免頁分裂)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved