Bit string constants provide a way to directly represent a binary value with an arbitrary sequence of ones and zeroes. Similarly to string constants, they are bound by single quotes, but they must be preceded by a leading B character (which may be uppercase or lowercase). This character identifies to PostgreSQL that the forthcoming constant is a bit string, and not a normal string of character data.

Semantically, the opening single quote must follow immediately after the leading B , and the bit string may not contain any character other than 0 or 1 . While there cannot be whitespace within this string of bits, it can be continued across multiple lines just like regular string constants, as documented in the section called String constants .

Bit string constants are generally only useful when working with tables or functions that require binary values. Example 3-6 demonstrates the use of a bit string constant upon a simple table containing raw bytes. A bit string byte is inserted into a list of bytes in the my_bytes table, and insertion is verified with a simple query.

Example 3-6. Using Bit String Constants

testdb=# INSERT INTO my_bytes VALUES (B'00000000');
testdb=# SELECT my_byte FROM my_bytes;
 my_byte
----------
 10000000
 10000001
 10000101
 11111111
 00000000
(5 rows)