MSSQL常⽤数据类型
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字节
unicode文件格式
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。