SQL服务器中为NULL时的位数据类型大小

Bit data type size when it is NULL in SQL Server

SQL服务器中的位数据类型是最小的数据类型,它只是一个值为0或1的位。

如果字段更新为0值,那么在硬盘的那个字段点将存储0,如果字段更新为1,那么1将存储在硬盘中。

当它为NULL时存储什么?

列的空状态与数据分开存储 - 每个数据行都有一个称为 NULL BITMAP 的部分,它对 table 中的每一列都有一位(无论它是否可为空)保存列的 null/not 空状态。所以一个位列实际上需要两位 - 一位用于空状态,一位用于数据。

仅供参考,space 位接受 SQL 服务器的数据是可变的 - 这取决于您有多少位列。它可以在一个字节中存储最多八位列,所以如果你只有一个位列,你仍然使用整个字节作为行(其他七位被忽略)。