位串是包含 1 和 0 的字串。它們可用於儲存或視覺化位掩碼。有兩種 SQL 位型別:bit(
和 n
)bit varying(
,其中 n
)n
是一個正整數。
bit
型別的資料必須精確匹配長度 n
;嘗試儲存更短或更長的位串將導致錯誤。bit varying
資料是可變長度的,最多可達最大長度 n
;更長的字串將被拒絕。不帶長度的 bit
等同於 bit(1)
,而不帶長度說明的 bit varying
則表示無限制長度。
如果顯式地將一個位串值強制轉換為 bit(
,它將被截斷或在右側用零填充,使其精確為 n
)n
位,而不會引發錯誤。同樣,如果顯式地將一個位串值強制轉換為 bit varying(
,如果它超過 n
)n
位,它將被截斷。
有關位串常量的語法資訊,請參閱 第 4.1.2.5 節。提供了位邏輯運算子和字串操作函式;請參閱 第 9.6 節。
示例 8.3. 使用位串型別
CREATE TABLE test (a BIT(3), b BIT VARYING(5)); INSERT INTO test VALUES (B'101', B'00'); INSERT INTO test VALUES (B'10', B'101');ERROR: bit string length 2 does not match type bit(3)
INSERT INTO test VALUES (B'10'::bit(3), B'101'); SELECT * FROM test;a | b -----+----- 101 | 00 100 | 101
一個位串值每 8 位需要 1 位元組,加上 5 或 8 位元組的開銷,具體取決於字串的長度(但長值可能會被壓縮或移出,如 第 8.3 節 中對字元字串的解釋)。
如果您在文件中發現任何不正確、不符合您對特定功能的實際經驗或需要進一步說明的內容,請使用 此表格 來報告文件問題。