SMALLINT 是一种 2 字节整数数据类型,用于 CREATE TABLE 和 ALTER TABLE 语句。语法
在
CREATE TABLE 语句的列定义中:column_name SMALLINT
注意:
由于 TCHouse-X 内表暂不支持
SMALLINT,系统在建表阶段会自动完成类型提升(Type Promotion),将 SMALLINT 字段统一处理为 INT 类型。取值范围
取值范围:
-32,768 到 32,767。注意:TCHouse-X 不支持无符号(UNSIGNED)子类型。
数据转换
隐式转换
TCHouse-X 会自动将
SMALLINT 转换为更大范围的整数类型(INT, BIGINT)或浮点类型(FLOAT, DOUBLE)。显式转换
转换为
STRING 或 TIMESTAMP 必须使用 CAST()。TIMESTAMP/TIMESTAMPTZ 转换规则:将整数值 N 转换为
TIMESTAMP/TIMESTAMPTZ时,系统会生成一个以 Unix 纪元(1970-01-01 00:00:00 UTC)为基准、增加 N 秒后的时间戳。在查询展示时,该值会自动转换为当前系统时区对应的本地时间。TIMESTAMPNTZ 转换规则:将整数值 N 转换为
TIMESTAMPNTZ时,系统会生成一个以 Unix 纪元(1970-01-01 00:00:00 UTC)为基准、增加 N 秒后的时间戳。使用说明与限制
选型建议:如果数值可能超出 32,767,请改用
INT 类型。NULL 处理:将任何非数字值(Non-numeric)强制转换为此类型将产生
NULL。分区 (Partitioning):优先使用此类型作为分区键列。相比字符串形式,TCHouse-X 处理数值类型的效率更高。