?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
位串就是一串1和0的字符串。它們可以用于存儲(chǔ)和直觀化位掩碼。 我們有兩種SQL位類型:bit(n)和bit varying(n),這里的n是一個(gè)正整數(shù)。
bit類型的數(shù)據(jù)必須準(zhǔn)確匹配長度n, 試圖存儲(chǔ)短些或者長一些的數(shù)據(jù)都是錯(cuò)誤的。 bit varying類型數(shù)據(jù)是最長n的變長類型; 更長的串會(huì)被拒絕。寫一個(gè)沒有長度的bit 等效于bit(1),沒有長度的vbit varying意思是沒有長度限制。
Note: 如果我們明確地把一個(gè)位串值轉(zhuǎn)換成bit(n), 那么它的右邊將被截?cái)嗷蛘咴谟疫呇a(bǔ)齊零, 直到剛好n位,而不會(huì)拋出任何錯(cuò)誤。類似地, 如果我們明確地把一個(gè)位串?dāng)?shù)值轉(zhuǎn)換成bit varying(n), 如果它超過了n位,那么它的右邊將被截?cái)唷?
請(qǐng)參考Section 4.1.2.5獲取有關(guān)位串常量的語法信息。 還有一些位邏輯操作符和位處理函數(shù)可用;參見Section 9.6。
Example 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
位字符串值需要1字節(jié),每組8位,增加5或8字節(jié)的開銷取決于字符串的長度(Section 8.3中有相關(guān)解釋)。