SQLServer 提供了 25 種基本數據類型:
·Binary [(n)] 二進制數據 既可以是固定長度的(Binary),也可以是變長度的。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個字節。
·Varbinary [(n)] 二進制數據 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個字節。
·Char [(n)] 字符數據類型(任何字母、符號和數字任意組合而成的數據) 定長字符數據,其長度最多為 8KB
·Varchar[(n)] 變長字符數據 長度最多為 8KB
·Nchar[(n)] Unicode 數據類型(列可以存儲多個字符集中的字符) 列長度固定不變 最多可以存儲4000 個字符
·Nvarchar[(n)] Unicode 數據類型 列長度變化 最多可以存儲4000 個字符
·Datetime 日期和時間數據類型 所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲字節)。精確到三百分之一秒或3.33毫秒
·Smalldatetime 日期和時間數據類型 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲字節)。精確到一分鍾
·Decimal[(p[,s])] 17 個字節 容納從 1028 - 1到 - 1028 - 1. 的值的精確的數字數據類型。你可以定義精度 (1 - 28) 和 符號 (0 - 定義精度)。缺省精度和符號分別是18和0
·Numeric[(p[,s])] 數據類型與decimal 型相同
·Float[(n)] 浮點數 可以是從-1.79E+308到1.79E+308 之間的任意數
·Real 近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數
·Int 數據類型存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個字節存儲空間)。
·Smallint 存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個字節存儲空間)。
·Tinyint 存儲數據的范圍是從0 到255(每一個值要求1個字節存儲空間)。
·Money 貨幣數據表示正的或者負的貨幣數量 Money數據類型要求 8 個存儲字節 存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一
·Smallmoney 貨幣數據表示正的或者負的貨幣數量 Smallmoney 數據類型要求 4 個存儲字節。能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一
·Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型
·Cursor 特殊的數據類型,它包含一個對游標的引用。這種數據類型用在存儲過程中,而且創建表時不能用
·Sysname 系統提供的用戶定義數據類型,功能上相當於 nvarchar(128),用於引用數據庫對象名稱。
·Timestamp 用於表示SQL Server 活動的先后順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系
·Uniqueidentifier 由 16 字節的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用
·Text 用來存儲大量的非統一編碼型字符數據。這種數據類型最多可以有231-1或20億個字符
·Image 二進制數據 存儲的數據是以位字符串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
·Ntext Unicode 數據類型 該列可以存儲多於 4000 個字符
用戶定義的數據類型
用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,並且為保證這些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。
--建自定義數據類型
--Exec sp_addtype ssn,'Varchar(11)','Not Null'
--刪除自定義數據類型
--Exec sp_droptype 'ssn'
--查看用戶自定義數據類型
--select * from systypes where xtype<>xusertype;(sql server 2000)
--select * from sys.types where is_user_defined=1