云数据库 SelectDB 版的数据类型与MySQL的数据类型高度兼容。本文为您介绍SelectDB支持的数据类型。
概述
云数据库 SelectDB 版支持标准SQL语法,采用MySQL网络连接协议,高度兼容MySQL相关生态。目前SelectDB版本支持的数据类型是MySQL的一个子集。
数据类型
您可以通过SHOW DATA TYPES;
语句查看SelectDB支持的所有数据类型。目前SelectDB已支持的数据类型列表如下。
类型名称 | 字节数 | 描述 |
BOOLEAN | 1 | 布尔值,0代表false,1代表true。 |
TINYINT | 1 | 有符号整数,范围[-128, 127]。 |
SMALLINT | 2 | 有符号整数,范围[-32768, 32767]。 |
INT | 4 | 有符号整数,范围[-2147483648, 2147483647]。 |
BIGINT | 8 | 有符号整数,范围[-9223372036854775808, 9223372036854775807]。 |
LARGEINT | 16 | 有符号整数,范围[-2^127 + 1 ~ 2^127 - 1]。 |
FLOAT | 4 | 浮点数,范围[-3.4*10^38 ~ 3.4*10^38]。 |
DOUBLE | 8 | 浮点数,范围[-1.79*10^308 ~ 1.79*10^308]。 |
DECIMAL | 4/8/16 | 高精度定点数,格式: 其中,M代表一共有多少个有效数字(precision),D代表小数位有多少数字(scale)。 有效数字M的范围是[1, 38],小数位数字数量D的范围是[0, precision]。
|
DATE | 16 | 日期类型,目前的取值范围是['0000-01-01', '9999-12-31'],默认的打印形式是'yyyy-MM-dd'。 |
DATETIME | 16 | 日期时间类型,格式: 可选参数P表示时间精度,取值范围是[0, 6],即最多支持6位小数(微秒)。不设置时为0。 取值范围是['0000-01-01 00:00:00[.000000]', '9999-12-31 23:59:59[.999999]']。 打印的形式是'yyyy-MM-dd HH:mm:ss.SSSSSS'。 |
CHAR | / | 定长字符串,格式: |
VARCHAR | / | 变长字符串,格式: 说明 变长字符串是以UTF-8编码存储的,因此通常英文字符占1个字节,中文字符占3个字节。 |
STRING | / | 变长字符串,默认支持1048576字节(1MB),最大可调到2147483643字节(2 GB)。 可通过BE配置 String类型只能用在Value列,不能用在Key列和分区分桶列。 |
HLL | / | HLL是模糊去重,在数据量大的情况性能优于Count Distinct。 HLL的误差通常在1%左右,有时会达到2%。 HLL不能作为Key列使用,建表时配合聚合类型为HLL_UNION。 HLL类型不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。 HLL列只能通过配套的 |
BITMAP | / | BITMAP类型的列可以在Aggregate表或Unique表中使用。在Unique表中使用时,其必须作为非Key列使用。在Aggregate表中使用时,其必须作为非Key列使用,且建表时配合的聚合类型为BITMAP_UNION。用户不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。 BITMAP列只能通过配套的bitmap_union_count、bitmap_union、bitmap_hash、bitmap_hash64等函数进行查询或使用。 |
QUANTILE_STATE | / | QUANTILE_STATE是一种计算分位数近似值的类型,在导入时会对相同的Key,不同Value进行预聚合,当Value数量不超过2048时采用明细记录所有数据,当Value数量大于2048时采用TDigest算法,对数据进行聚合(聚类)保存聚类后的质心点。 QUANTILE_STATE不能作为Key列使用,建表时配合聚合类型为QUANTILE_UNION。 QUANTILE_STATE类型不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。 QUANTILE_STATE列只能通过配套的 |
ARRAY | / | 由任意基础类型(INT、FLOAT等)元素组成的数组,不能作为Key列使用。目前支持在Duplicate和Unique模型的表中使用。 |
MAP | / | 由<K,V>类型元素组成的Map,不能作为Key列使用。目前支持在Duplicate和Unique模型的表中使用。 |
JSON | / | 二进制JSON类型,采用二进制JSON格式存储,通过JSON函数访问JSON内部字段。 默认支持1048576字节(1MB),可调大到2147483643字节(2GB)。可通过BE配置 |
AGG_STATE | / | 聚合函数,只能配合 AGG_STATE不能作为Key列使用,建表时需要同时声明聚合函数的签名。 用户不需要指定长度和默认值。实际存储的数据大小与函数实现有关。 |
- 本页导读 (1)