9.6. 位字符串函数和运算符#
本节介绍用于检查和操作位字符串的函数和运算符,即类型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)
,因此只会提供整数的最低有效位。