SQL 數(shù)據(jù)類型是一種屬性,它指定了任何 SQL 對象中數(shù)據(jù)的類型。在 SQL 中,任意一個列、變量或者表達式都有其數(shù)據(jù)類型。
創(chuàng)建表的時候,你會用到這些數(shù)據(jù)類型。你應(yīng)該根據(jù)需要為表中的每一個列選擇合適的數(shù)據(jù)類型。
SQL Server 提供了六種數(shù)據(jù)類型供你使用:
精確數(shù)值數(shù)據(jù)類型
數(shù)據(jù)類型 |
下限 |
上限 |
bigint |
-9,223,372,036,854,770,000 |
9,223,372,036,854,770,000 |
int |
-2,147,483,648 |
2,147,483,647 |
smallint |
-32,768 |
32,767 |
tinyint |
0 |
255 |
bit |
0 |
1 |
decimal |
1E+38 |
10^38 -1 |
numeric |
1E+38 |
10^38 -1 |
money |
-922,337,203,685,477.00 |
922,337,203,685,477.00 |
smallmoney |
-214,748.36 |
214,748.36 |
近似數(shù)值數(shù)據(jù)類型
數(shù)據(jù)類型 |
下限 |
上限 |
float |
-1.79E + 308 |
1.79E + 308 |
real |
-3.40E + 38 |
3.40E + 38 |
日期和時間數(shù)據(jù)類型
數(shù)據(jù)類型 |
下限 |
上限 |
datetime |
Jan 1, 1753 |
31-Dec-99 |
smalldatetime |
1-Jan-00 |
6-Jun-79 |
date |
存儲一個日期數(shù)據(jù),例如 June 30, 1991 |
time |
存儲一個時間數(shù)據(jù),例如 12:30 P.M. |
注意:datetime 的時間和精度為 3.33 ms,而 smalldatetime 的時間精度為 1 min。
字符串數(shù)據(jù)類型
數(shù)據(jù)類型 |
下限 |
上限 |
char |
char |
最大長度為 8,000 字符。(定長非 Unicode 字符) |
varchar |
varchar |
最大長度為 8,000 字符。(變長非 Unicode 數(shù)據(jù)) |
varchar(max) |
varchar(max) |
最大長度為 231 字符, 變長非 Unicode 數(shù)據(jù) (僅限 SQL Server 2005). |
text |
text |
變長非 Unicode 字符數(shù)據(jù),最大長度 2,147,483,647 字符。 |
Unicode 字符串數(shù)據(jù)類型
數(shù)據(jù)類型 |
描述 |
nchar |
最大長度 4000 字符。(定長 Unicode 字符串) |
nvarchar |
最大長度 4000 字符。(變長 Unicode 字符串) |
nvarchar(max) |
最大長度 231 字符 。(僅限 SQL Server 2005)。(變長 Unicode 字符串) |
ntext |
最大長度 1,073,741,823 字符。(變長 Unicode 字符串) |
二進制數(shù)據(jù)類型
數(shù)據(jù)類型 |
描述 |
binary |
最大長度 8000 字節(jié)。(定長二進制數(shù)據(jù)) |
varbinary |
最大長度 8000 字節(jié)。(變長二進制數(shù)據(jù)) |
varbinary(max) |
最大長度 231字節(jié) (僅限 SQLServer 2005)。 (變長二進制數(shù)據(jù)) |
image |
最大長度 2,147,483,647 字節(jié)。(變長二進制數(shù)據(jù)) |
其他數(shù)據(jù)類型
數(shù)據(jù)類型 |
描述 |
sql_variant |
存儲多種 SQL 支持的數(shù)據(jù)類型,text、ntext、timestamp 除外。 |
timestamp |
一個數(shù)據(jù)庫級的唯一值,每當有行更新此數(shù)據(jù)就會更新。 |
uniqueidentifier |
全局唯一標識符(GUID) |
xml |
存儲 XML 數(shù)據(jù)。你可以在列或者變量中存儲 XML 實例。(僅限 SQL Server 2005) |
cursor |
指向 cursor 對象。 |
table |
存儲結(jié)果,以備后用。 |