您的位置:首页 > 数据库

MSSQL常用数据类型

2016-07-22 19:49 218 查看



1.字符类型

一般常用的varchar,char,text等,其中varchar为可变长,char为定长.varchar使用的好处是可以节约空间.char的好处是效率可能较高.

数据类型描述存储空间
char(n)n为1-8000字符之间n字节
nchar(n)n为1-4000 unicode字符之间2*n字节
nvarchar(max)最多为2^30-1(1073741823)unicode字符2*字符数+2额外开销
text最多为2^31-1(2147483647)字符每字符1字节+2字节额外开销
varchar(n)n为1-8000字符之间每字符1字节+2字节额外开销
varchar(max)最多为2^31-1(2147483647)字符每字符1字节+2字节额外开销

2.精确数值类型

数值类型一般使用bit,tinyint,smallint,int,bigint,numeric,deciaml,smallmoney,money.其中bit只能存储null,0,1.

数据类型描述存储空间
bit0,1或者null1字节(8位)
tinyint0-255之间的整数1字节
smallint-32768~32767之间的整数2字节
int-2147483648~2147483647之间的整数4字节
bigint-9223372036854775808~9223372036854775807之间的整数8字节
numric(p,s)或decimal(p,s)表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化最多17字节
money-9223372036854775808.5808~9223372036854775807.58078字节
smallmoney-2147483648.3648~2147483647.36474字节


3.近似值数据类型

近似值类型包括float和real,用来表示浮点数,但是他们是近似的,不能精确的表示所有值

数据类型描述存储空间
float[(n)]-1.79E+308~1.79E+308n<=24    4字节,n>24   8字节
real()-3.04E+38~3.04E+384字节


4.二进制数据类型

varbinary,binary,varbinary(max)等二进制数据类型用于存储二进制数据,如图形文件,word文档或者mp3文件等.image数据类型可在数据页外存储最多2GB的文件.image数据类型的首选替代类型是varbinary(max)

数据类型描述存储空间
binary(n)n为1-8000十六进制数字之间n字节
varbinary(n)n为1-8000十六进制数字之间每字符1字节+2字节额外开销
varbinary(max)最多为2^31-1(2147483654)十六进制数字每字符1字节+2字节额外开销


5.日期和时间数据类型

datetime和smalldatetime数据类型用于存储日期和时间数据.smalldatetime为4字节,存储1900-01-01到2079-06-06之间的时间,并且只能精确到分钟.datetime存储1753-01-01到9999-12-31日之间的时间.并且能精确到最近的3.33毫秒

sqlserver2012新增了4种时间相关的数据类型:datetime2,dateoffset.date,time.

数据类型描述存储空间
date1年1月 1日-9999年12月31日,只存储日期3字节
datetime1753年1月1日~9999年12月31日,精确到最近的3.33毫秒8字节
datetime(n)1年1月1日~999年12月31日.0~7之间的n指定小数秒6~8字节
datetimeoffset(n)1年1月1日~999年12月31日.0~7之间的n指定小数秒+/-偏移量8~10字节
smalldatetime1900年1月1日~2079年6月6日,精确到1分钟4字节
time(n)小时:分钟:秒.9999999,0~7之间的n指定小数秒3~5字节


6.其它系统数据类型

数据类型描述存储空间
cursor包含对游标的引用,只用用作变量或者存储过程参数/
hierarchyid包含对层次结构中位置的引用1-892字节+2字节额外开销
sql_variant可能包含任何系统数据类型的值.8016字节
table用于存储进一步处理的数据集,主要用于返回标志函数的结果集,也可以用于存储过程和批处理取决于表定义和存储的行数
timestamp或rowversion对于每个表是唯一的,自动存储的值.通常用于版本戳.该值在dml的时候自动更新8字节
uniqueidentifier包含全局唯一标识符GUID.该值可以从Newsequentialid()函数获得.16字节
xml定义为unicode形式最多2GB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: