对于一般的INT、CHAR、tinyint等数据类型,他们占用的存储空间都是以Byte字节为单位的,但是BIT类型由于只有0和1或者说
false和true,这种情况只需要一个Bit位就可以表示了,那么在SQL
Server中BIT类型到底占用了多少空间?是不是由一个Bit位来存储的?或者可能是使用一个字节来存储的?
这两个答案都不正确!!!实际上BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位(几个BIT类型的列共用一个字节)。下面就来具体分析一下:
1. 单独的BIT类型的列将占用一个字节。所谓单独就是指一个BIT类型的列的左边定长列和右边定长列都不是BIT类型的列。例如这样一个表: