本节介绍用于检查和操作位字符串的函数和运算符,即类型 bit
和 bit varying
的值。(虽然这些表中只提到了类型 bit
,但类型 bit varying
的值也可以互换使用。)位字符串支持 表 9.1 中所示的常用比较运算符,以及 表 9.14 中所示的运算符。
表 9.14. 位字符串运算符
运算符 说明 示例 |
---|
连接
|
按位 AND(输入必须等长)
|
按位 OR(输入必须等长)
|
按位异或(输入必须等长)
|
按位 NOT
|
按位左移(字符串长度不变)
|
按位右移(字符串长度不变)
|
如 表 9.15 所示,二进制字符串的一些可用函数也适用于位字符串。
表 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)
,因此只会提供整数的最低有效位。