本節描述用于檢查和操作位串的函數和操作符,也就是操作類型為bit
和bit varying
的值的函數和操作符。 (雖然這些表中只提到了bit
類型,但bit varying
類型的值可以互換使用),位字符串支持比較操作符表中顯示的常用比較操作符,就像位串操作符表中顯示的操作符。
位串操作符
連接
|
按位與(輸入的長度必須相等)
|
按位或 (輸入的長度必須相等)
|
按位異或 (輸入的長度必須相等)
|
按位求反
|
按位左移(字符串長度被保留)
|
按位右移(字符串長度被保留)
|
一些可用于二進制字符串的函數也可用于位字符串,如位字符串函數表中所示。
位字符串函數
返回位字符串中的位數。
|
返回位字符串中的位數。
|
返回位字符串中的字節數。
|
替換從
|
按返回指定
|
如果指定了起始位,則提取從
|
從位字符串中提取第
|
將位字符串中的第
|
另外,我們可以在整數和bit
之間來回轉換。 將一個整數轉換為bit(n)
會復制最右邊的n
位。 將一個整數轉換為比整數本身更寬的位字符串寬度將在左邊進行符號擴展。一些例子:
44::bit(10) 0000101100
44::bit(3) 100
cast(-44 as bit(12)) 111111010100
'1110'::bit(4)::integer 14
請注意,如果只是轉換為“bit”,意思是轉換成bit(1)
,因此只會轉換整數的最低有效位。