Un bit
ne stocke que les nombres 0
et 1
(ou null
).
Un boolean
ne stocke que true
et false
(ou null
). Un nombre (0, 1) n'est pas un booléen. Une valeur booléenne peut être utilisée n'importe où dans une expression booléenne devrait. Ainsi, vous pouvez par ex. faites ceci :
where is_active
Une colonne de bits doit être comparée à quelque chose :
where a_bit_column = 0
(le résultat de a_bit_column = 0
est un booléen)
Contrairement à ce que pensent certains SGBD, l'expression where 0
ou where 1
n'est pas expression booléenne valide.