逻辑型
InCloud ZNBASE的逻辑数据类型是BOOL类型。
BOOL
BOOL数据类型存储布尔值false或true。
别名
在InCloud ZNBASE中,BOOLEAN是BOOL的别名。
精度和取值范围
BOOL值有两个预定义的命名常量:TRUE和FALSE(名称不区分大小写)。
可以通过把数值进行强制类型转换来获得布尔值:零被强制转换为FALSE,任何非零的值被强制转换为TRUE。强制类型转换如下:
CAST(0 AS BOOL) (false)
CAST(119 AS BOOL) (true)
BOOL值的宽度为1个字节,但由于元数据因素,总存储大小可能会更大。
示例
示例1:创建具有BOOL列的表。
CREATE TABLE bools (c1 INT PRIMARY KEY, c2 BOOL, c3 BOOLEAN);
SHOW COLUMNS FROM bools;
column_name | data_type | is_nullable | column_default | generation_expression | indices | is_hidden
+——————-+—————-+——————-+————————+———————————-+—————-+—————-+
c1 | INT | false | NULL | | {primary} | false
c2 | BOOL | true | NULL | | {} | false
c3 | BOOLEAN | true | NULL | | {} | false
BOOLEAN是BOOL的别名,实际类型是BOOL。
示例2:向具有BOOL列的表中插入值。
INSERT INTO bools VALUES (1, true, CAST(0 AS BOOL)),(2,false,CAST(3.14 AS BOOLEAN));
SELECT * FROM bools;
c1 | c2 | c3 +——+———-+———-+
1 | true | false
2 | false | true |