SQL Server 數據類型

數據類型





數據類型名稱 類  別
長度(以字
節爲單位)
數 據 特 點
Bit
整型
1
該大小容易產生誤導。表中的第1個
Bit數據類型佔1個字節。其餘7個位也
用作Bit數據類型。允許null值以使其佔
用一個額外字節
Bigint
整型
8
可處理日常用到的越來越大的數,其取
值範圍爲–263 ~ 263–1的整數
Int
整型
4
取值範圍爲–2147483648 ~ 2147483647的整數
SmallInt
整型
2
取值範圍爲–32 768 ~ 32 767的整數
TinyInt
整型
1
取值範圍爲0~255的整數
Decimal/Numeric
十進制/數字型
可變
固定精度,取值範圍爲–1038–1 ~ 1038–1。
兩者含義相同
Money
貨幣
8
貨幣單位,取值範圍爲–263 ~ 263,精確
到4個小數位。注意貨幣單位可以是任
意貨幣,不限於美元
SmallMoney
貨幣
4
貨幣單位,取值範圍爲–214 748.364 8 ~
+214 748.364 7
Float (ANSI
的Real)
近似小數
可變
接受一個1~53的參數(如Float(20))來
決定其大小與精度。注意參數值表示位數,
不是字節數。 取值範圍爲
–1.79E + 308 ~ 1.79E + 308
DateTime
日期/時間
8
日期與時間數據,取值範圍爲1753年1
月1日~ 9999年12月31日,精確到0.03秒
DateTime2
日期/時間
可變(6~8)
新擴展的DateTime典型數據類型。支持更
大的日期範圍和更高的時間部分精度(精
確到100納秒)。與DataTime一樣,它不包
含時區信息,但與.NET DateTime
數據類型相對應
SmallDateTime
日期/時間
4
日期與時間,取值範圍爲1900年1月1日
~2079年6月6日,精確到分鐘
DateTimeOffset
日期/時間
可變
(8~10)
類似於DateTime數據類型,但有一個相對
於U-TC時間的–14:00~+14:00的偏移量。
時間在內部存儲爲UTC時間,任何比較、
排序或索引都將基於該統一的時區
Date
日期/時間
3
只存儲Gregorian日曆定義的0001年1月1日
~9999年12月31日的日期數據。採取ANSI
標準日期格式(YYYY-MM-DD),但會從
其他一些格式隱式轉換
Time
日期/時間
可變(3~5)
只存儲用戶可選精度爲100納秒(默認)的時間數據
Cursor
特殊數字
1
指向遊標的指針,只佔用一個字節。記住組
成實際遊標的結果集也佔用內存,佔用內存
的大小取決於結果集
Timestamp/
rowversion
特殊數字
(二進制)
8
給定數據庫中的唯一特殊值。即使UPDATE
語句沒有引用timestamp列(時間標記),其
值在插入或更新記錄時也會由數據庫自動
設置(不允許直接更新timestamp字段)


     數據類型名稱

                       類  別

                      長度(以字

                      節爲單位)

                                        數 據 特 點


 

UniqueIdentifier

特殊數字

(二進制)

16

特殊的全局唯一標識符(GUID),必須

保證其在內存空間和時間內的唯一性

 

Char

字符

可變

定長字符數據。比設定長度短時使用空

格填充,爲非Unicode數據,指定的最大長

度爲8000字符

 

VarChar

字符

可變

長度可變的字符數據。比設定長度短時不

使用空格填充,爲非Unicode數據。允許最大

長度爲8000字符,但可以使用max關鍵字表

示其長度可足夠大(

據長度可達231字節)

 

Text

字符

可變

SQL Server 2005開始向後兼容支持該

類型。可使用varchar(max)代替

 

NChar

Unicode

可變

定長Unicode字符數據。比設定長度短

時使用空格填充。指定的最大長度爲4000字符

 

NVarChar

Unicode

可變

可變長度的Unicode字符數據。比設定長

度短時不使用空格填充。允許最大長度爲

4000字符,但可以使用max關鍵字表示

其長度可足夠大(數據長度可達231字節)

 

Ntext

Unicode

可變

可變長度的Unicode字符數據。類似

Text數據類型,僅用作向後兼容。可使

nvarchar(max)代替

 

Binary

二進制

可變

定長二進制數據,最大長度爲8000字節

 

VarBinary

二進制

可變

可變長度二進制數據,最大特定長度爲

8 000字節,可使用max關鍵字使其作爲

BLOB(大對象)字段(數據長可達231字節)

 

Image

二進制

可變

SQL Server 2005開始向後兼容支持該

類型。可使用varbinary(max)代替

 

Table

其他

特殊

主要用於操作結果集,通常作爲用戶自定義

函數(UDF)的結果輸出或作爲存儲過程

的參數。在表的定義中不作爲可用的數

據類型(不可以嵌套表)

 

HierarchyID

其他

特殊

維護層次結構定位信息的特殊數據

類型。提供特定於層次結構需要的特

殊功能。允許進行深度、父/子關係和索

引比較。實際大小隨層次結構中的節點

數和平均深度而變

 

Sql_variant

其他

特殊

VBC++中的變量基本無關。其實質

是用於保存大多數其他SQLServer數據

類型的容器。當列或函數需要處理多

數據類型時可使用這種數據類型

VB不同的是,使用這種數據類型

將其顯式轉換爲更具體的數據類型

 

XML

字符

可變

定義一個字符字段用作XML數據。用

於針對XML模式的數據驗證和使用特

殊的面向XML的函數

 

CLR

其他

可變

CLR對象的特性而變,CLR對象支持

基於自定義數據類型CLR。隨

SQL Server 2012附帶的空間數

據類型GEOMETRYGEOGRAPHY

實現爲CLR類型

(續)

數據類型名稱
類 別
長度(以字
節爲單位)
數 據 特 點
UniqueIdentifier
特殊數字
(二進制)
16
特殊的全局唯一標識符(GUID),必須保證
其在內存空間和時間內的唯一性
Char
字符
可變
定長字符數據。比設定長度短時使用空
格填充,爲非Unicode數據,指定的最大
長度爲8000字符
VarChar
字符
可變
長度可變的字符數據。比設定長度短時不
使用空格填充,爲非Unicode數據。允許最
大長度爲8000字符,但可以使用max關
鍵字表示其長度可足夠大(數據長度可達231字節)
Text
字符
可變
SQL Server 2005開始向後兼容支持該
類型。可使用varchar(max)代替
NChar
Unicode
可變
定長Unicode字符數據。比設定長度短時使
用空格填充。指定的最大長度爲4000字符
NVarChar
Unicode
可變
可變長度的Unicode字符數據。比設定長度
短時不使用空格填充。允許最大長度爲4000
字符,但可以使用max關鍵字表示其長度
可足夠大(數據長度可達231字節)
Ntext
Unicode
可變
可變長度的Unicode字符數據。類似Text數
據類型,僅用作向後兼容。可使
用nvarchar(max)代替
Binary
二進制
可變
定長二進制數據,最大長度爲8000字節
VarBinary
二進制
可變
可變長度二進制數據,最大特定長度爲8000
字節,可使用max關鍵字使其作爲BLOB(大對
象)字段(數據長可達231字節)
Image
二進制
可變
SQL Server 2005開始向後兼容支持該類型。
可使用varbinary(max)代替
Table
其他
特殊
主要用於操作結果集,通常作爲用戶自定義
函數(UDF)的結果輸出或作爲存儲過程的參數。
在表的定義中不作爲可用的數
據類型(不可以嵌套表)
HierarchyID
其他
特殊
維護層次結構定位信息的特殊數據類型。提
供特定於層次結構需要的特殊功能。允許進
行深度、父/子關係和索引比較。實際大小隨
層次結構中的節點數和平均深度而變
Sql_variant
其他
特殊
與VB和C++中的變量基本無關。其實質是
用於保存大多數其他SQL Server數據類型
容器。當列或函數需要處理多種數據類型時可
使用這種數據類型。與VB不同的是,使用
這種數據類型要將其顯式轉換爲
更具體的數據類型
XML
字符
可變
定義一個字符字段用作XML數據。用於針對
XML模式的數據驗證和使用特殊的面向XML的函數
CLR
其他
可變
隨CLR對象的特性而變,CLR對象支持基於
自定義數據類型的CLR。隨SQL Server
2012附帶的空間數據類型GEOMETRY和
GEOGRAPHY實現爲CLR類型
發佈了53 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章