腾讯云数据仓库 TCHouse-X BOOLEAN

BOOLEAN 数据类型用于 CREATE TABLE 和 ALTER TABLE 语句中,表示单一的“真/假”选择。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、语法

在 CREATE TABLE 语句的列定义中:

column_name BOOLEAN

二、取值范围

·取值:TRUE 或 FALSE。

·书写规范:字面量 TRUE 和 FALSE 不需要加引号。你可以使用大写、小写或混写。

·查询显示:TCHouse-X 遵循 MySQL 协议规范,布尔值以整数表示:

·1:表示 TRUE

·0:表示 FALSE

三、类型转换

TCHouse-X 不会自动将任何其他类型隐式转换为 BOOLEAN。所有转换必须使用 CAST() 函数进行显式调用。

四、数值类型与 BOOLEAN 的转换

·从数值转 BOOLEAN:任何整数或浮点类型都可以转换为 BOOLEAN。0 表示 false,任何非零值都会转换为 true。

SELECT CAST(42 AS BOOLEAN) AS nonzero_int, CAST(99.44 AS BOOLEAN) AS nonzero_decimal, CAST(000 AS BOOLEAN) AS zero_int, CAST(0.0 AS BOOLEAN) AS zero_decimal;– 结果依次为: 1, 1, 0, 0

·从 BOOLEAN 转数值:结果将变为 1 (true) 或 0 (false)。

SELECT CAST(true AS INT) AS true_int, CAST(false AS DOUBLE) AS false_double;– 结果依次为: 1, 0

·DECIMAL 类型:可以将 DECIMAL 转换为 BOOLEAN(遵循非零即真的规则),但不能直接将 BOOLEAN 转换为 DECIMAL。

select cast(cast (1 as decimal(3,1)) as boolean); — 结果为1select cast(true as decimal); — 报错

五、其他类型转换

·STRING:不能将 STRING 转换为 BOOLEAN。但可以将 BOOLEAN 转换为 STRING,其中 true 返回 'true',false 返回 'false'。

select cast('abc' as boolean); — 报错select cast(false as string); — 返回 'false'select cast(true as string); — 返回 'true'

·TIMESTAMP:虽然支持互转,但结果通常没有实际意义。

六、NULL 值处理

如果表达式中的任何参数为 NULL,则该类型的表达式结果也为 NULL。

赞 (0)
上一篇 4天前
下一篇 4天前