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