SQL Server 2005 常用資料型別詳解

sqysl發表於2009-01-28


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資料型別跟時間完全無關,它表明資料庫中的資料修改發生的相對順序。不要在鍵(尤其是主鍵)中使用timestamp列,因為每次修改行時,timestamp值都會更改。當指定資料型別為rowversion或timestamp,那麼SQL Server會在對錶的插入或刪除等更新操作時自動生成一個新值,並把這個新值放在合適的欄位裡。此型別資料佔用8bytes儲存空間。

uniqueidentifier
此型別資料儲存二進位制值,其作用與全域性唯一識別符號(GUID)一樣。GUID 主要用於在有多個節點、多臺計算機的網路中,分配必須具有唯一性的識別符號。佔用16bytes儲存空間。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-544632/,如需轉載,請註明出處,否則將追究法律責任。

相關文章