概述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)un
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) | varchar(max) | 每字符1字节+2字节额外开销 |
2.精确数值类型 数值类型一般使用bit,tinyint,smallint,int,bigint,numeric,deciaml,smallmoney,money.其中bit只能存储null,1. bit
0,1或者null | 1字节(8位) | tinyint | 0-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.5807 | smallmoney | -2147483648.3648~2147483647.3647 | 4字节 |
3.近似值数据类型 近似值类型包括float和real,用来表示浮点数,但是他们是近似的,不能精确的表示所有值 float[(n)]
-1.79E+308~1.79E+308 | n<=24 4字节,n>24 8字节 | real() | -3.04E+38~3.04E+38 | 4.二进制数据类型 varbinary,binary,varbinary(max)等二进制数据类型用于存储二进制数据,如图形文件,word文档或者mp3文件等.image数据类型可在数据页外存储最多2GB的文件.image数据类型的首选替代类型是varbinary(max) binary(n) | n为1-8000十六进制数字之间 | varbinary(n) | 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. date
1年1月 1日-9999年12月31日,只存储日期 | 3字节 | datetime | 1753年1月1日~9999年12月31日,精确到最近的3.33毫秒 | 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字节 |
smalldatetime | 1900年1月1日~2079年6月6日,精确到1分钟 | time(n) | 小时:分钟:秒.9999999,0~7之间的n指定小数秒 | 3~5字节 |
6.其它系统数据类型 cursor
包含对游标的引用,只用用作变量或者存储过程参数 | / | hIErarchyID | 包含对层次结构中位置的引用 | 1-892字节+2字节额外开销 |
sql_variant | 可能包含任何系统数据类型的值. | 8016字节 |
table | 用于存储进一步处理的数据集,主要用于返回标志函数的结果集,也可以用于存储过程和批处理 | 取决于表定义和存储的行数 |
timestamp或rowversion | 对于每个表是唯一的,自动存储的值.通常用于版本戳.该值在dml的时候自动更新 | uniqueIDentifIEr | 包含全局唯一标识符GUID.该值可以从NewsequentialID()函数获得. | 16字节 |
xml | 定义为unicode形式 | 最多2GB |
总结
以上是内存溢出为你收集整理的MSSQL常用数据类型全部内容,希望文章能够帮你解决MSSQL常用数据类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)