電腦中資料有型別與長度兩特徵。資料類型即以資料表現與儲存方式劃分的種類。SQL Server 中每個變數、參數、運算式皆有資料類型。系統類型分幾大類:

圖示
BIGINT、SQL_VARIANT、TABLE 為 SQL Server 2000 新增 3 種類型。 下面分類詳細說明。
4.3.1 整數資料類型
- INT (INTEGER):-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)。4 位元組,1 位符號位,31 位數值
- SMALLINT:-2^15 (-32,768) 到 2^15-1 (32,767)。2 位元組,1 位符號,15 位數值
- TINYINT:0 到 255。1 位元組
- BIGINT:-2^63 (-9,223,372,036,854,775,808) 到 2^63-1。8 位元組
4.3.2 浮點資料類型:上捨入儲存機制
SQL Server 採用上捨入:捨入數非零時,保留部分最低有效位加 1 並進位。絕對值不減少。例:3.14159265358979 取 2 位→3.15,12 位→3.141592653590。
- REAL:精確到小數第 7 位,範圍 -3.40E-38 到 3.40E+38。4 位元組
- FLOAT:精確到第 15 位,範圍 -1.79E-308 到 1.79E+308。8 位元組。可寫
FLOAT[n],n=1-7 為 REAL,n=8-15 為 FLOAT
- DECIMAL:提供小數實際儲存空間。2-17 位元組儲存 -10^38+1 到 10^38-1。
DECIMAL[p[,s]]:p 總位數(預設 18),s 小數位數(預設 0)。例:decimal(15,5) 共 15 位,整數 10 位、小數 5 位
- NUMERIC:與 DECIMAL 完全相同
注意: SQL Server 為配合前端工具,預設最大精度 28 位。可用 sqlservr /p38 啟動變更預設精度。
4.3.3 二進制資料類型
- BINARY(n):n=1-8000,固定長度。輸入前加
0x 標識。奇數位數自動在 0x 後加 0。佔 n+4 位元組
- VARBINARY(n):n=1-8000,變動長度。佔實際長度+4 位元組。**允許 NULL 時 BINARY 視為 VARBINARY**。固定長度 BINARY 處理較快
4.3.4 邏輯資料類型
- BIT:1 位元組,值 0 或 1。輸入非 0/1 視為 1。**不可定義為 NULL**
4.3.5 字元資料類型
- CHAR[(n)]:n=1-8000,每字元 1 位元組。不指定 n 預設 1。不足補空格,超長截斷
- NCHAR[(n)]:n=1-4000,UNICODE,每字元 2 位元組。佔用空間加倍,但可容納全球語言無編碼衝突
- VARCHAR[(n)]:n=1-8000,變動長度,佔實際長度。不足不補空格。CHAR 處理較快
- NVARCHAR[(n)]:n=1-4000,UNICODE 變動長度
4.3.6 文字與圖形資料類型:大量資料儲存
- TEXT:理論容量 2^31-1 位元組。SQL Server 2000 直接儲存於表資料行,減少空間與 I/O
- NTEXT:UNICODE,理論容量 2^30-1 位元組
- IMAGE:大量二進制資料,理論容量 2^31-1 位元組。常儲存 OLE 物件。輸入加
0x 標識
4.3.7 日期時間資料類型
- DATETIME:1753/1/1 到 9999/12/31 23:59:59.997,精確 3.33ms。8 位元組:前 4 位儲存相對 1900/1/1 天數(正負),後 4 位儲存午夜起毫秒數。省略時間→12:00:00.000AM;省略日期→1900/1/1
- SMALLDATETIME:1900/1/1 到 2079/6/6,精確到分(30秒四捨五入)。4 位元組:前 2 位天數,後 2 位分鐘數
日期輸入格式三大類:英文+數字(月份全名/縮寫)、數字+分隔符(/,-,.)、純數字(4/6/8位)。時間格式:時:分:秒.毫秒,可用 AM/PM。
4.3.8 貨幣資料類型
- MONEY:4 位小數 DECIMAL,-2^63 到 2^63-1,精確萬分之一。8 位元組
- SMALLMONEY:-214,748.3648 到 +214,748.3647。4 位元組

4.3.9 特定資料類型
- TIMESTAMP:資料庫範圍內唯一值,相當
BINARY(8) 或 VARBINARY(8)。欄位更新/插入時自動更新計數值。每表僅一 TIMESTAMP 欄位。命名為 TIMESTAMP 的欄位自動設為此類型
- UNIQUEIDENTIFIER:16 位元組二進制數(GUID)。
NEWID() 函數產生全球唯一編碼
4.3.10 使用者自訂資料類型
SYSNAME:系統提供便於自訂類型,定義為 NVARCHAR(128),可儲存 128 UNICODE 字元或 256 一般字元。用法參見第 7 章「自訂資料類型」。
4.3.11 SQL Server 2000 新增類型
- SQL_VARIANT:可儲存除 TEXT/NTEXT/IMAGE/TIMESTAMP 外任何合法 SQL Server 資料,極大方便開發
- TABLE:儲存表/視圖處理後結果集。使變數可儲存表,函數/程序返回查詢結果更便捷。用法參見第 13 章「游標、視圖與自訂函數」