数 据 类 型描 述存 储 空 间
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、p_w_picpath、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.还可以自定义数据类型...