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)