位串类型
位串就是一串 1 和 0 的串。它们可以用于存储和可视化位掩码。有两种类型的 SQL 位类型:bit(*n*)和bit varying(*n*),其中 n 是一个正整数。
bit类型的数据必须准确匹配长度*n*;试图存储短些或者长一些的位串都是错误的。bit varying 数据是最长 n 的变长类型,更长的串会被拒绝。写一个没有长度的 bit 等效于 bit(1),没有长度的 bit varying 意味着没有长度限制。
注意
如果显式地把一个位串值转换成 bit(*n*), 那么它的右边将被截断或者在右边补齐零,直到刚好 n 位, 而且不会抛出任何错误。类似地,如果显式地把一个位串数值转换成 bit varying(*n*),如果它超过了 n 位, 那么它的右边将被截断。
举例:使用位串类型
CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'10', B'101');
ERROR: bit string length 2 does not match type bit(3)
INSERT INTO test VALUES (B'10'::bit(3), B'101');
SELECT * FROM test;
a | b
-----+-----
101 | 00
100 | 101
一个位串值对于每 8 位的组需要一个字节,外加总共 5 个或 8 个字节,这取决于串的长度。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




