title: Storage of Bit columns for null values?
body: <p>The Microsoft Documentation at <a href="https://docs.microsoft.com/en-us/sql/t-sql/data-types/bit-transact-sql?view=sql-server-2017" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/sql/t-sql/data-types/bit-transact-sql?view=sql-server-2017</a> says:</p>
  <blockquote>
  <p>An integer data type that can take a value of 1, 0, or NULL.</p>
  <p>The SQL Server Database Engine optimizes storage of bit columns. If there are 8 or fewer bit columns in a table, the columns are stored as 1 byte. If there are from 9 up to 16 bit columns, the columns are stored as 2 bytes, and so on.
  The string values TRUE and FALSE can be converted to bit values: TRUE is converted to 1 and FALSE is converted to 0.
  Converting to bit promotes any nonzero value to 1.</p>
  </blockquote>
  <p>How is it possible to store 1, 0 and NULL in a single bit?</p>