SQL 数据类型


SQL 数据类型用于指定数据的类型,每个列、变量和表达式在 SQL 中都有一个相关的数据类型。可以在创建表时使用这些数据类型为表字段选择数据类型。

SQL Server 提供了六类数据类型供你使用,如下所列:

精确数字数据类型


数据类型最小值最大值
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
smallint-32,76832,767
tinyint0255
bit01
decimal-10^38 +110^38 -1
numeric-10^38 +110^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 + 3081.79E + 308
real-3.40E + 383.40E + 38

日期和时间类型


数据类型最小值最大值
datetime1753 年 1 月 1 日9999 年 12 月 31 日
smalldatetime1900 年 1 月 1 日2079 年 6 月 6 日
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 个字符。 ( 可变长度 Unicode )

二进制数据类型


序号数据类型和描述
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 支持的数据类型的值,文本、ntext 和时间戳除外。

2

timestamp

存储数据库范围的唯一编号,每次更新行时都会更新该编号

3

uniqueidentifier

存储全局唯一标识符 (GUID)

4

xml

存储 XML 数据。你可以将 xml 实例存储在列或变量中(仅限 SQL Server 2005)。

5

cursor

对游标对象的引用

6

table

存储结果集供以后处理