8.10. Bit String
Types

Bit strings are strings of 1's and 0's. They can be used to
store or visualize bit masks. There are two SQL bit types:
bit(n) and bit varying(n), where n is a positive integer.

bit type data must match the length
n exactly; it is an
error to attempt to store shorter or longer bit strings.
bit varying data is of variable length
up to the maximum length n; longer strings will be
rejected. Writing bit without a length
is equivalent to bit(1), while
bit varying without a length
specification means unlimited length.

Note

If one explicitly casts a bit-string value to bit(n),
it will be truncated or zero-padded on the right to be exactly
n bits, without
raising an error. Similarly, if one explicitly casts a
bit-string value to bit varying(n), it will be truncated
on the right if it is more than n bits.

Refer to Section 4.1.2.5 for
information about the syntax of bit string constants. Bit-logical
operators and string manipulation functions are available; see
Section 9.6.

A bit string value requires 1 byte for each group of 8 bits,
plus 5 or 8 bytes overhead depending on the length of the string
(but long values may be compressed or moved out-of-line, as
explained in Section 8.3 for
character strings).