A Microsoft pode armazenar campos de três valores em um único bit?

Sou completamente ignorante do SQL / bancos de dados, mas estava conversando com um amigo que trabalha muito com o banco de dados sobre como alguns bancos de dados usam um campo "booleano" que pode levar um valor NULL além de verdadeiro e falso.

Sobre isso, ele comentou: "Para crédito da Microsoft, eles nunca se referiram a esse tipo de campo como booleano, apenas chamam um pouco. E é verdade - se você tiver oito ou menos campos de bits em um registro, é necessário apenas um byte para armazenar todos eles ".

Naturalmente, isso me parece impossível - se o campo puder conter três valores, você não ajustará oito deles em um byte. Meu amigo concordou que isso parecia estranho, mas implorou desconhecimento dos internos de baixo nível e disse que, até onde ele sabia, esses campos podem conter três valores quando vistos do lado do SQL, e funciona para exigir um byte de armazenamento . Imagino que um de nós tenha um fio cruzado. Alguém pode explicar o que realmente está acontecendo aqui?

questionAnswers(5)

yourAnswerToTheQuestion