↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0
历史版本。 PostgreSQL 9.6 已结束支持。 2021-11-11. 请参阅 当前版本手册.

9.6. 位串函数和操作符 #

本节描述用于检查和操作位串的函数和操作符,也就是 bit 和 bit varying 类型的值。除常用比较操作符外,还可使用表 9.13中的操作符。&、| 和 # 的位串操作数长度必须相同。移位时会保留字符串的原始长度,如示例所示。

表 9.13. 位串操作符

操作符描述示例结果
|| 串接B'10001' || B'011'10001011
& 按位与B'10001' & B'01101'00001
| 按位或B'10001' | B'01101'11101
# 按位异或B'10001' # B'01101'11100
~按位非~ B'10001'01110
<< 按位左移B'10001' << 301000
>> 按位右移B'10001' >> 200100

以下 SQL 标准函数既适用于位串,也适用于字符串:length、bit_length、octet_length、position、substring、overlay。

以下函数既适用于位串,也适用于二进制串:get_bit、set_bit。处理位串时,这些函数将字符串的第一位(最左侧的位)编号为位 0。

此外,还可以在整数值与bit类型之间进行类型转换。例如:

44::bit(10)                    0000101100
44::bit(3)                     100
cast(-44 as bit(12))           111111010100
'1110'::bit(4)::integer        14

注意,仅转换为“bit”意味着转换为bit(1),因此只会得到该整数的最低有效位。

注意

将整数转换为 bit(n) 会复制最右侧的 n 位。将整数转换为宽度大于该整数自身的位串时,会在左侧进行符号扩展。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.