数 据 类 型描    述存 储 空 间

1.字符数据类型

Char(n)      N为1~8000字符之间 n字节

Nchar(n)    N为1~4000 Unicode字符之间(2n字节)+2字节额外开销

Ntext     最多为230–1(1 073 741 823)Unicode字符每字符2字节

Nvarchar(max)    最多为230–1(1 073 741 823)Unicode字符2×字符数+2字节额外开销

Text     最多为231–1(2 147 483 647)字符每字符1字节

Varchar(n)    N为1~8000字符之间每字符1字节+2字节额外开销

Varchar(max)    最多为231–1(2 147 483 647)字符每字符1字节+2字节额外开销

2.精确数值数据类型

bit     0、1或Null1字节(8位)

tinyint     0~255之间的整数1字节

smallint–32 768~32 767之间的整数2字节

int     –2 147 483 648~2 147 483 647之间的整数4字节

bigint     –9 223 372 036 854 775 808~9 223 372 036 854 775 807之间的整数  8字节

numeric(p,s)或decimal(p,s)    –1 038+1~1 038–1之间的数值最多17字节

money     –922 337 203 685 477.580 8~922 337 203 685 477.580 78字节

smallmoney    –214 748.3648~2 14 748.36474字节

3.近似数值数据类型

float[(n)]  –1.79E+308~–2.23E–308,0,2.23E–308~1.79E+308N< =24-4字节N> 24-8字节

real    –3.40E+38~–1.18E–38,0,1.18E–38~3.40E+384字节,real的同义词为float(24)

4.二进制数据类型

Binary(n)    N为1~8000十六进制数字之间n字节

Image    最多为231–1(2 147 483 647)十六进制数位每字符1字节

Varbinary(n)    N为1~8000十六进制数字之间每字符1字节+2字节额外开销

Varbinary(max)    最多为231–1(2 147 483 647)十六进制数字每字符1字节+2字节额外开销

5.日期和时间数据类型

Date    9999年1月1日~12月31日3字节

Datetime    1753年1月1日~9999年12月31日,精确到最近的3.33毫秒8字节

Datetime2(n)    9999年1月1日~12月31日0~7之间的N指定小数秒6~8字节

Datetimeoffset(n)    9999年1月1日~12月31日0~7之间的N指定小数秒+/–偏移量8~10字节

SmalldateTime    1900年1月1日~2079年6月6日,精确到1分钟4字节

Time(n)    小时:分钟:秒.99999990~7之间的N指定小数秒3~5字节

6.其他系统数据类型

Cursor    包含一个对光标的引用和可以只用作变量或存储过程参数不适用

Hierarchyid    包含一个对层次结构中位置的引用1~892字节+2字节的额外开销

SQL_Variant    可能包含任何系统数据类型的值,除了text、ntext、image、timestamp、xml、varchar(max)、nvarchar(max)、varbinary (max)、sql_variant以及用户定义的数据类型。最大尺寸为8000字节数据+16字节(或元数据)8016字节

Table    用于存储用于进一步处理的数据集。定义类似于Create Table。主要用于返回表值函数的结果集,它们也可用于存储过程和批处理中取决于表定义和存储的行数

Timestamp orRowversion    对于每个表来说是唯一的、自动存储的值。通常用于版本戳,该值在插入和每次更新时自动改变8字节

Uniqueidentifier    可以包含全局唯一标识符(Globally Unique Identifier,GUID)。guid值可以从Newid()函数获得。这个函数返回的值对所有计算机来说是唯一的。尽管存储为16位的二进制值,但它显示为char(36)16字节

XML    可以以Unicode或非Unicode形式存储最多2GB

7.还可以自定义数据类型...