Kann Microsoft dreiwertige Felder in einem Bit speichern?

Ich kenne SQL / Datenbanken überhaupt nicht, habe mich aber mit einem Freund unterhalten, der viel Datenbankarbeit leistet, um herauszufinden, wie manche Datenbanken ein "boolesches" Feld verwenden, das zusätzlich zu true und false den Wert NULL annehmen kann.

azu machte er einen Kommentar in dieser Richtung: "Laut Microsoft haben sie diese Art von Feld nie als Boolesch bezeichnet, sondern nennen es nur ein bisschen. Und es ist ein wahres bisschen - wenn Sie acht oder weniger Bit haben Felder in einem Datensatz benötigen nur ein Byte, um sie alle zu speichern. "

Natürlich scheint mir das unmöglich - wenn das Feld drei Werte enthalten kann, passen Sie nicht acht davon in ein Byte. Mein Freund stimmte zu, dass es seltsam schien, bat aber um Unkenntnis der Interna auf niedriger Ebene und sagte, dass solche Felder, soweit er wusste, von der SQL-Seite aus gesehen, drei Werte enthalten können, und es funktioniert, wenn ein Byte Speicherplatz benötigt wird . Ich stelle mir vor, einer von uns hat einen Draht gekreuzt. Kann mir jemand erklären, was hier wirklich los ist?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage