1. 字符串數據類型
char
此數據類型可存儲1~8000個定長字符串,字符串長度在創建時指定;如未指定,默認爲char(1)。每個字符佔用1byte存儲空間。
nchar
此數據類型可存儲1~4000個定長Unicode字符串,字符串長度在創建時指定;如未指定,默認爲nchar(1)。每個字符佔用2bytes存儲空間。
varchar
此數據類型可存儲最大值爲8000個字符的可變長字符串。可變長字符串的最大長度在創建時指定,如varchar(50),每個字符佔用1byte存儲空間。
nvarchar
此數據類型可存儲最大值爲4000個字符可變長Unicode字符串。可變長Unicode字符串的最大長度在創建時指定,如nvarchar(50),每個字符佔用2bytes存儲空間。
text
此數據類型可存儲最大值爲2147483647個字符的變長文本,並且無需指定其初始值,每個字符佔用1byte存儲空間,一般用來存儲大段的文章。text數據類型實際上是一個Large Object數據類型,默認情況下,此類型的數據不是存儲在數據行內,而是存儲於獨立的Large Object數據頁上。另外,text數據類型不能做爲函數、存儲過程或觸發器中的參數來用。
ntext
同text數據類型,只不過存儲的是最大值爲1073741823個字符的Unicode變長文本,每個字符佔用1byte存儲空間。說明:無論使用哪種字符串數據類型,字符串值必須放在引號內,推薦使用單引號。
2. 數值數據類型
bit
此數據類型存儲值爲0或1的二進制字段。佔用1byte存儲空間。
tinyint
此數據類型存儲0~255的整數,佔用1byte存儲空間。
smallint
此數據類型存儲-32768~32767的整數,佔用2bytes存儲空間。
int
此數據類型存儲-2147483648~2147483647的整數,佔用4bytes存儲空間。
bigint
此數據類型存儲-9223372036854775808~9223372036854775807的整數,佔用8bytes存儲空間。
decimal/numeric
這兩個數據類型功能相同,均爲存儲精度可變的浮點值。但推薦採用decimal,因其存儲的數據“更有說明性”。此種數據類型由兩個值來確定decimal(p,s),p爲精度,s爲標量,如decimal(3,2),其中數值2爲小數的位數,那麼decimal(3,2)可用來存儲如1.28這樣的浮點數。此種數據類型佔用的存儲空間取決於精度值p。p爲1~9,佔用5bytes存儲空間;p爲10~19,佔用9bytes存儲空間;p爲20~28,佔用13bytes存儲空間;p爲29~38,佔用17bytes存儲空間。
float
此數據類型存儲1~53的可變精度的浮點值,精度表示爲float(n),n表示科學記數法的尾數,取值範圍爲-1.79E+308~-2.23E-308的負數和2.23E-308~1.79E+308的正數。其存儲空間由精度值決定,n爲1~24,佔用4bytes存儲空間;n爲25~53,佔用8bytes存儲空間。
real
此數據類型存儲-3.40E+38~-1.18E-38的負數和1.18E~3.40E+38的正數。佔用4bytes存儲空間。
smallmoney
此數據類型存儲-214748.3648~214748.3647的貨幣值,精確到小數後4位。佔用4bytes存儲空間。
money
此數據類型存儲-922337203685477.5808~922337203685477.5807的貨幣值,精確到小數後4位。佔用8bytes存儲空間。
3. 日期和時間數據類型
smalldatetime
此數據類型存儲從1900年1月1日到2079年6月6日的日期。佔用4btyes存儲空間。
datetime
此數據類型存儲從1753年1月1日到9999年12月31日的日期。佔用8bytes存儲空間。
4. 二進制數據類型
binary
此數據類型存儲1~8000個字符的二進制數據,其指定長度即爲佔用的存儲空間。
varbinary
此數據類型存儲可變長的二進制數據,可在創建時指定其具體長度,也可不指定。
5. 其它數據類型
rowversion/timestamp
這兩種數據類型功能一樣,但Microsoft建議在任何情況下儘可能地指明rowversion而不是timestamp,因爲rowversion更加準確地反應了數據類型的真實性質。timestamp數據類型跟時間完全無關(和SQL-92中的Timestamp完全不一樣),它表明數據庫中的數據修改發生的相對順序。不要在鍵(尤其是主鍵)中使用timestamp列,因爲每次修改行時,timestamp值都會更改。當指定數據類型爲rowversion或timestamp,那麼SQL Server會在對錶的插入或刪除等更新操作時自動生成一個新值,並把這個新值放在合適的字段裏。此類型數據佔用8bytes存儲空間。