数据类型 描述 大小(以字节为单位)
char 固定长度的字符数据,最多可以包含8000个使用排序规则字符集的字符 定义的长度*1个字节
nchar 固定长度的Unicode字符数据 定义的长度*2个字节
varchar 可变长度的字符数据,最多可以包含8000个使用排序规则字符集的字符 每个字符1个字节
nvarchar 可变长度的Unicode字符数据,最多可以包含4000个Unicode字符 每个字符2个字节
text 可变长度的字符数据,最多可以包含2147483647个非Unicode字符 每个字符1个字节
ntext 可变长度的Unicode字符数据,最多可以包含1073741823个Unicode字符 每个字符2个字节
sysname Miscrosoft提供的用户定义数据类型,在功能上等同于nvarchar(128),用于引用表和列的名字 每个字符2个字节
Unicode数据类型在存储使用多种语言的数据时非常有用,但这是通过付出双倍的存储空间的代价才得到的。一些开发人员将他们所有基于字符的列都定义为nvarchar数据类型,而另外的一些开发人员却不惜一切代价避免使用Unicode数据类型。建议如果数据库有可能使用其他国家的语言,那么就使用Unicode数据类型;否则,就使用char,varchar或者text数据类型。
数据类型 描述 大小(以字节为单位)
bit 0或者1 1位(bit)
tinyint 0到255的整数数据 1个字节
smallint 从-32768到32767的整数数据 2个字节
int 从-2147482648到2147483647的整数数据 4个字节
bigint 从-2的63次方到2的63次方-1的整数数据 8个字节
decimal或者numeric 从-10的38次方+1到10的38次方-1的固定精度和小数位的数字数据 最大存储大小随精度而变化
money 货币数据值,介于-2的63次方与2的63次方之间,精确到货币单位的万分之一(.0001) 8个字节
smallmoney 货币数据值,介于-214748.3648与+214748.3647之间,精确到货币单位的万分之一(.0001) 4个字节
float 浮点数,依据所定义的精确位数,可以表示从-1.79E+308到1.79E+308之间的浮点精确数字 4个或者8个字节
real 具有24位精确的浮点数 4个字节
如果要使用货币数据值,则必须谨慎地选择数据类型。如果使用float或者real数据类型来表示货币将会产生舍入错误。而使用money和small-money数据类型可以精确到百分之一美分。对于一些货币值,客户只要求精确到美分。在这种情况下,decimal是最合适的数据类型