位元字串是由 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 節中針對字元字串的說明)。
如果您在文件中發現任何不正確、與您特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。