3.1.1.6. 布尔类型
语法:BOOLEAN
KingbaseES 提供标准的 SQL 类型 BOOLEAN。 BOOLEAN取值为“true(真)”、“false(假)”和第三种状态“unknown(未知)”,未知状态由 SQL 空值表示。
数据类型
描述
BOOLEAN
表示真、假的数据类型。1字节存储。
3.1.1.7. 位串类型
位串就是一串 1 和 0 的串。
3.1.1.7.1. BIT类型
语法 :BIT[(n)]
n是正整数,数据必须准确匹配长度 “n“,如果存储短些或者长一些的位串都会报错。n缺省,默认为1。
3.1.1.7.2. BIT VAYRING类型
语法 :BIT VAYRING(n)
变长位串,最长为n,n是正整数。如果存储超过n则报错。n缺省,表示该类型没有长度限制。
注意
如果我们显式地把一个位串值转换成bit(n
), 那么它的右边将被截断或者在右边补齐零,直到刚好``n``位, 而且不会抛出任何错误。类似地,如果我们显式地把一个位串数值转换成bit varying(n
),如果它超过了``n``位, 那么它的右边将被截断。
请参考 位串常量 获取有关位串常量的语法的信息。还有一些位逻辑操作符和串操作函数可用,见 位串函数和操作符 。
例10-1.使用位串类型
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个字节,这取决于串的长度(但是长值可能被压缩或者移到线外,如 字符类型 中对字符串的解释一样)。