sql server数据库中 smallint, int ,bigint ,tinyint的区别与长度

本文详细介绍了数据库中几种常见的整型数据类型,包括smallint、int、bigint和tinyint等,对比了它们的存储大小、取值范围及适用场景,并提供了如何合理选择数据类型的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 smallint  是一种精确的数值数据类型,其精度在算术运算后不变,采用2个字节编码

 有符号的 smallint 值的范围是 -2^15-------2^15 -1,即 -32768 ----32767

 无符号的 smallint 值的范围是 0-------2^16 -1,即 0----65535,

 

int 数据类型存储为 4字节整数,取值范围 -2^31---2^31,所以在考虑最大数据范围的前提下,优先考虑使用smallint类型。

在int 数据类型支持范围的数字常量仍被解释为numeric ,这些数字的小数位数为0,其精度为足以保存所指定的值。

 

bigint 可以精确的表示从 -2^63------2^63-1 之间的整数,数据类型存储为8字节存储空间,当bigint值在int数据类型支持的范围内时, sql server 才将

bigint 隐式转换成int, 如果bigint 表达式包含了一个在int 数据类型支持范围之外的值,就会在运行时出现转换错误。

 

在数据类型优先表中,bigint 数据类型位于int之上, smallint之下

 

tinyint 如果字段设置为unsigned, 只能存储从0 到255之间的整数,不能用来存储负数

  如果字段没有设置为unsigned, 将会存储 -128 到127之间的数

 tinyint 存储采用1个字节

 

通常, 为了节省空间,应该尽可能的使用最小的整型数据,这些整型类型看起来差别不大,但是在比较大的表中,字节数的增长是很快的。

另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测一下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值