数据类型 | 描述 | 备注 | 对应vba类型 |
字符 | |||
char(n) | n为1-8000字符之间 | ||
nchar(n) | n为1-4000 unicode字符之间 | ||
nvarchar(max) | 最多为2^30-1(1073741823)unicode字符 | string | |
text | 最多为2^31-1(2147483647)字符 | ||
varchar(n) | n为1-8000字符之间 | ||
varchar(max) | 最多为2^31-1(2147483647)字符 | ||
|
精确数字 | ||
bit | 0,1或者null |
|
|
tinyint | 0-255之间的整数 | byte | |
smallint | -32768~32767之间的整数 | Integer | |
int | -2147483648~2147483647之间的整数 | long | |
bigint | -9223372036854775808~9223372036854775807之间的整数 | ||
numric(p,s)或decimal(p,s) | 表示的数字可以达到38位,存储数据时所用的字节数目会随着使用位数的多少变化 | decimal |
|
money | -9223372036854775808.5808~9223372036854775807.5807 |
|
|
smallmoney | -2147483648.3648~2147483647.3647 |
|
|
近似数字 | |||
float[(n)] | -1.79E+308~1.79E+308 | double | |
real() | -3.04E+38~3.04E+38 | Single | |
二进值 | |||
binary(n) | n为1-8000十六进制数字之间 | ||
varbinary(n) | n为1-8000十六进制数字之间 | ||
varbinary(max) | 最多为2^31-1(2147483654)十六进制数字 | ||
日期时间 | |||
date | 1年1月 1日-9999年12月31日,只存储日期 | ||
datetime | 1753年1月1日~9999年12月31日,精确到最近的3.33毫秒 | date | |
datetime(n) | 1年1月1日~999年12月31日.0~7之间的n指定小数秒 | ||
datetimeoffset(n) | 1年1月1日~999年12月31日.0~7之间的n指定小数秒+/-偏移量 | ||
smalldatetime | 1900年1月1日~2079年6月6日,精确到1分钟 | ||
time(n) | 小时:分钟:秒.9999999,0~7之间的n指定小数秒 | ||
其他系统类型 | |||
cursor | 包含对游标的引用,只用用作变量或者存储过程参数 | ||
hierarchyid | 包含对层次结构中位置的引用 | ||
sql_variant | 可能包含任何系统数据类型的值. | ||
table | 用于存储进一步处理的数据集,主要用于返回标志函数的结果集,也可以用于存储过程和批处理 | ||
timestamp或rowversion | 对于每个表是唯一的,自动存储的值.通常用于版本戳.该值在dml的时候自动更新 | ||
uniqueidentifier | 包含全局唯一标识符GUID.该值可以从Newsequentialid()函数获得. | ||
xml | 定义为unicode形式 | ||
|