位串类型
位串就是一串 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。