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

SQL Server 資料類型完整圖鑑:整數、近似數值、精確數值、日期時間、字串、二進位、特殊類型深度解析

     編輯:關於SqlServer

資料類型定義了資料的儲存格式、範圍、精度與操作語意。正確選擇類型是效能、儲存成本、資料正確性的三重保障。SQL Server 2000 新增 BIGINT、SQL_VARIANT、TABLE 三大類型,大幅擴展建模能力。

整數類型家族

類型儲存位元組範圍適用場景
TINYINT10 ~ 255狀態碼、旗標、小基數維度
SMALLINT2-32,768 ~ 32,767小範圍計數、年齡、年份
INT4-2,147,483,648 ~ 2,147,483,647主鍵身分識別、通用計數 (預設首選)
BIGINT8-9.22E18 ~ 9.22E18超大量資料主鍵、科學計算、全域唯一序號

整數類型範圍圖

精確數值類型

類型精度/小數位儲存位元組適用場景
DECIMAL(p,s) / NUMERIC(p,s)p=1~38, s=0~p5~17 位元組 (視精度)財務金額、精確測量、任何不可容忍捨入誤差的計算
MONEY4 位小數固定8貨幣金額 (內部整數儲存,效能優於 DECIMAL)
SMALLMONEY4 位小數固定4小額貨幣、預算項目

近似數值類型

類型精度儲存位元組適用場景
FLOAT(n)n=1~53 (預設 53, 雙精度)4 (n≤24) / 8 (n>24)科學計算、統計模型、可容忍微小誤差
REAL單精度 (7 位有效數字)4單精度科學計算、節省空間

日期時間類型

類型範圍精度儲存位元組備註
DATETIME1753-01-01 ~ 9999-12-313.33 毫秒8舊版相容、預設值 GETDATE()
SMALLDATETIME1900-01-01 ~ 2079-06-061 分鐘4節省空間、精度較低

字串類型

類型最大長度儲存方式適用場景
CHAR(n)8,000固定長度,空白填充固定長度代碼 (ISO 代碼、身分證字號)
VARCHAR(n)8,000變動長度 + 2 位元組長度前綴一般文字、描述、可變長度屬性
NCHAR(n)4,000固定長度 Unicode (2 位元組/字元)多語言固定長度代碼
NVARCHAR(n)4,000變動長度 Unicode多語言文字、國際化應用首選
TEXT2^31-1 (2 GB)LOB 結構,行外儲存大型文本 (舊版,建議改用 VARCHAR(MAX))
NTEXT2^30-1 (1 GB)LOB 結構,行外儲存大型 Unicode 文本 (舊版,建議改用 NVARCHAR(MAX))

二進位類型

類型最大長度適用場景
BINARY(n)8,000固定長度二進位 (雜湊值、加密金鑰)
VARBINARY(n)8,000變動長度二進位 (檔案片段、圖片縮圖)
IMAGE2^31-1大型二進位物件 (舊版,建議改用 VARBINARY(MAX))

SQL Server 2000 新增特殊類型

類型特性典型用途
BIGINT64 位元整數超大主鍵、序號產生器
SQL_VARIANT可儲存除 TEXT/NTEXT/IMAGE/TIMESTAMP/SQL_VARIANT 外任意類型值,攜帶中繼資料 (基底型別、精度、小數位、定序)動態屬性袋 (EAV 模型)、通用記錄表、異構資料整合
TABLE資料表值變數/函數回傳型別,支援主鍵/唯一/檢查約束/身分識別欄位預存程式暫存結果集、函數回傳多行、替代臨時表減少重編譯

類型選擇決策樹

  1. 是否整數?→ TINYINT/SMALLINT/INT/BIGINT 依範圍選最小足夠者。
  2. 是否精確小數?→ DECIMAL/MONEY (財務首選)。
  3. 是否科學計算可容忍誤差?→ FLOAT/REAL。
  4. 是否日期時間?→ DATETIME (預設) / SMALLDATETIME (空間敏感)。
  5. 是否字串?→ Unicode 需求決定 N 前綴;長度 > 8000 用 MAX (SQL 2005+);固定長度用 CHAR/NCHAR。
  6. 是否二進位?→ VARBINARY/BINARY;大型用 MAX。
  7. 特殊需求?→ SQL_VARIANT (動態型別)、TABLE (集合傳遞)、XML (SQL 2005+)、HIERARCHYID/GEOGRAPHY/GEOMETRY (SQL 2008+)。

資料類型不是單純的儲存容器,它承載著業務語意、效能特徵、遷移相容性。建立「資料類型選擇規範文件」,納入資料模型審查清單,從源頭杜絕類型不匹配導致的隱含轉換、精度遺失、索引失效等隱性問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved