Bit的数据类型

 我来答
沉稳还精心丶雏菊2474
推荐于2018-03-01 · 超过54用户采纳过TA的回答
知道答主
回答量:165
采纳率:50%
帮助的人:52.7万
展开全部

SQL Server中保存数据的一种类型,只能存储true/false,程序读取数据库出来之后的表现形式是true或者false,但是保存在数据库中的结构类型是0或者1,1表示true,0表示false。
SQL Server BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了。SQL Server BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位(几个BIT类型的列共用一个字节)。
单独的BIT类型的列将占用一个字节。
所谓单独就是指一个BIT类型的列的左边定长列和右边定长列都不是BIT类型的列。例如这样一个表:
CREATE TABLE tt
(
c1 INT PRIMARY KEY,
c2 BIT NOT NULL,
c3 CHAR(2)
NOT NULL
)
SQL Server在存储表中的数据时先是将表中的列按照原有顺序分为定长和变长(变长就是长度不固定的数据类型,如varchar,nvarchar,varbinary等)两组。在数据页中存储数据时先存储所有定长的数据,然后再存储变长的数据。这里由于c2列的左边是int类型,右边是char类型,都是定长的,而且不是SQL Server BIT类型,所以c1和c3之间必须留出一个字节来存储c2,虽然c2只用到了其中的一个位。
多个BIT类型的列之间使用变长数据类型列分开,则去掉变长列,然后看连续的SQL Server BIT类型列的个数,每列占用一个位,如果多余了8列那就再占用更多的字节。

美林数据技术股份有限公司
2019-06-26 广告
美林数据Tempo大数据分析平台,它是一款集数据接入、数据处理、数据挖掘、数据可视化、数据应用于一体的软件产品。它秉持“智能、互动、增值”的设计理念,面向企业级用户提供自助式数据探索与分析能力,为企业提供从BI到AI的一体化数据分析与应用解... 点击进入详情页
本回答由美林数据技术股份有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式