本节描述用于检查和操作位串的函数和操作符,也就是操作类型为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),因此只会得到该整数的最低有效位。