9.6. 位串函数和操作符
本节描述用于检查和操作位串的函数和操作符,也就是操作类型为bit
和bit
varying
的值的函数和操作符。除了常用的比较操作符之外,还可以使用表 9.14里显示的操作符。&
、|
和#
的位串操作数必须等长。在移位的时候,保留原始的位串的的长度,如例子所示。
表 9.14. 位串操作符
操作符 | 描述 | 例子 | 结果 |
---|---|---|---|
|| |
连接 | 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' << 3 |
01000 |
>> |
按位右移 | B'10001' >> 2 |
00100 |
下面的SQL标准函数除了可以用于字符串之外,也可以用于位串:
、 length
、 bit_length
、 octet_length
、 position
、 substring
。 overlay
下面的函数除了可以用于二进制串之外,也可以用于位串:
、 get_bit
。 当使用于一个位串时,这些函数将串的第一(最左)位计数为位 0。 set_bit
另外,我们可以在整数和bit
之间来回转换。一些例子:
44::bit(10) 44::bit(3) cast(-44 as bit(12)) '1110'::bit(4)::integer复制
请注意,如果只是转换为”,意思是转换成bit(1)
,因此只会转换整数的最低有效位。
注意
把一个整数转换成bit(n)
将拷贝整数的最右边的n
位。 把一个整数转换成比整数本身长的位串,就会在最左边扩展符号。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
397次阅读
2025-04-21 16:58:09
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
353次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
331次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
298次阅读
2025-04-07 12:14:29
postgresql+patroni+etcd高可用安装
necessary
166次阅读
2025-03-28 10:11:23
从 Oracle 到 PostgreSQL迁移成本评估揭秘
梧桐
152次阅读
2025-03-27 17:21:42
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
150次阅读
2025-03-27 20:41:28
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
146次阅读
2025-04-14 15:58:34
墨天轮PostgreSQL认证证书快递已发(2025年3月批)
墨天轮小教习
127次阅读
2025-04-03 11:43:25
SQL 优化之 OR 子句改写
xiongcc
91次阅读
2025-04-21 00:08:06