本节描述用于检查和操作位串的函数和操作符,
位串就是
bit 和
bit varying
类型的值。
(虽然这些表中只提到了
bit
类型,
但
bit varying
类型的值可以互换使用。)
位串支持
Table 9.1
中展示的常规比较操作符,
以及
Table 9.14
中展示的操作符。
Table 9.14. 位串操作符
操作符 说明 示例 |
|---|
串接
|
按位与 (输入必须具有相同的长度)
|
按位或 (输入必须具有相同的长度)
|
按位异或 (输入必须具有相同的长度)
|
按位取反
|
按位左移 (字符串长度被保留)
|
按位右移 (字符串长度被保留)
|
一些可用于二进制字符串的函数同样可用于位串, 如 Table 9.15 所示。
Table 9.15. 位串函数
此外,
可以在整数值与
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),
因此将只交付该整数的最低有效位。