逻辑型

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 |