SQL資料型別


SQL資料型別是指定任何物件的資料型別的屬性。 每列,變數和表示式在SQL中都有相關的資料型別。 在建立表時可以使用這些資料型別。 也可以根據需要為表的列(欄位)選擇合適的資料型別。在資料庫中,表的每列都具有特定的資料型別。 資料型別指定列(欄位)可以容納的資料型別,例如字串,數值和日期時間值。

SQL Server為例,它提供了六種型別的資料型別,如下所示 -

精確的數位資料型別

資料型別 開始值 結束值
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 -1
numeric -10^38 +1 10^38 -1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647

近似數位資料型別

資料型別 開始值 結束值
float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38

日期和時間資料型別

資料型別 開始值 結束值
datetime -1.79E + 308 1.79E + 308
smalldatetime Jan 1, 1900 Jun 6, 2079
date 儲存日期,如1991年6月30日  
time 儲存時間。如,下午12:30  

注意 - 這裡,datetime的精度為3.33毫秒,而smalldatetime的精度為1分鐘。

字串資料型別

序號 資料型別 描述
1 char 最大長度為8,000個字元,非Unicode字元固定長度。
2 varchar 最多8,000個字元,非Unicode資料可變長度。
3 varchar(max) 最大長度為2E + 31個字元,可變長度非Unicode資料(僅限SQL Server 2005)。
4 text Unicode資料的可變長度,最大長度為2,147,483,647個字元。

Unicode字串資料型別

序號 型別 描述
1 nchar 最大長度為4,000個字元,Unicode字元固定長度。
2 nvarchar 最大長度為4,000個字元,Unicode字元可變長度。
3 nvarchar(max) 最大長度為2E + 31個字元(僅限SQL Server 2005),Unicode字元可變長度。
4 ntext 最大長度為1,073,741,823個字元,可變長度。

二進位制資料型別

序號 型別 描述
1 binary 最大長度為8,000位元組,固定長度的二進位制資料。
2 varbinary 最大長度為8,000位元組,可變長度二進位制資料。
3 varbinary(max) 最大長度為2E + 31個位元組(僅限SQL Server 2005),可變長度二進位制資料。
4 image 最大長度為2,147,483,647位元組,可變長度二進位制資料)

其它資料型別

序號 型別 描述
1 sql_variant 儲存各種SQL Server支援的資料型別的值,textntexttimestamp型別除外。
2 timestamp 儲存資料庫範圍的唯一編號,每次更新行時都會更新該編號。
3 uniqueidentifier 儲存全域性唯一識別符號(GUID)
4 xml 儲存XML資料,可以將xml範例儲存在列或變數中(僅限SQL Server 2005)。
5 cursor 參照游標物件
6 table 儲存結果集以供以後處理