PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Unterschied zwischen Bit- und Boolean-Datentypen in PostgreSQL

Ein bit speichert nur die Zahlen 0 und 1 (oder null ).

Ein boolean speichert nur true und false (oder null ). Eine Zahl (0, 1) ist nicht ein boolescher Wert. Ein boolescher Wert kann überall in einem booleschen Ausdruck verwendet werden wird erwartet. So können Sie z. tun Sie dies:

where is_active 

Eine Bit-Spalte muss mit etwas verglichen werden:

where a_bit_column = 0

(das Ergebnis von a_bit_column = 0 ist ein boolescher Wert)

Im Gegensatz zu dem, was einige DBMS denken, ist der Ausdruck where 0 oder where 1 ist nicht gültiger boolescher Ausdruck.