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 |
Jan 1, 1753 |
Dec 31, 9999 |
smalldatetime |
Jan 1, 1900 |
Jun 6, 2079 |
date |
存儲數據,如:June 30, 1991 |
time |
存儲當天的時間點,如:12:30 P.M. |
注意: 在這裡,日期時間有3.33毫秒的精度,而SMALLDATETIME有1分的準確性。
字符串數據類型:
數據類型 |
開始 |
結束 |
char |
char |
最大長度為8000字符。(固定長度非Unicode字符) |
varchar |
varchar |
最多8,000個字符。(可變長度非Unicode數據) |
varchar(max) |
varchar(max) |
231個字符為最大長度,可變長度的非Unicode數據(隻有SQL Server 2005) |
text |
text |
可變長度的非Unicode數據以2,147,483,647個字符為最大長度 |
Unicode字符字符串數據類型:
數據類型 |
描述 |
nchar |
4000字符為最大長度。(固定長度的Unicode) |
nvarchar |
4000字符為最大長度。(可變長度的Unicode) |
nvarchar(max) |
231個字符(隻在SQL Server 2005)最大長度(可變長度的Unicode) |
ntext |
1,073,741,823個字符為最大長度。 (可變長度的Unicode) |
二進製數據類型:
數據類型 |
描述 |
binary |
8000字節為最大長度(固定長度的二進製數據) |
varbinary |
8000字節的最大長度。(變長二進製數據) |
varbinary(max) |
231字節(僅在SQL Server 2005)的最大長度。 (變長二進製數據) |
image |
2,147,483,647字節的最大長度。 (變長二進製數據) |
其它數據類型:
數據類型 |
描述 |
sql_variant |
不同的SQL服務器支持的數據類型的存儲值,除了文本,ntext和時間戳 |
timestamp |
存儲數據庫範圍內的唯一編號,獲取每一行或更新時更新 |
uniqueidentifier |
存儲全局唯一標識符(GUID) |
xml |
存儲XML數據。可以存儲一列或變量(僅在SQL Server 2005)的XML實例 |
cursor |
引用光標對象 |
table |
存儲以供以後處理結果集 |