SQL server中整型数据类型
SQL Server中整型 数据 类型 主要有四类 bigint、 int 、 smallint 和 tinyint ,区分他们,主要看他们所占的位数。 bigint:占8个字节,64位。从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型 数据 int: 占4个字节,32位。 从-2^31(-2,
SQL Server中整型数据类型主要有四类bigint、 int 、smallint 和 tinyint,区分他们,主要看他们所占的位数。
bigint:占8个字节,64位。从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据
int:占4个字节,32位。从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据
smallint:占2个字节,16位。从-2^15(-32,768)到2^15-1(32,767)的整数数据
tinyint:占1个字节,8位。从0到255的整数数据
注释
在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。
只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
总结
所以选择最恰当的数据类型是非常重要的,例如,给你10个18位的全是数字的身份证号码,和10个15位的全是数字的身份证号码。让你以最快的查询的速度查找出来,这20个记录,那么你在设计这个字段的时候,应该有几个地方要注意:
1. 最快的查询速度,无非我们选择int类型的数据来存储这20个身份证号码。但是15位和18位的数据貌似只有bigint才满足条件。
2. 有人要说为啥不用varchar或者char呢。直接存成一个字符串。这个问题问的比较好,首先,int的查询速度肯定比varchar和char要快,那么int类型的数据是首选,但是int在sqlserver中有好几种。这个就要选择最恰当的