数据类型¶
MatrixOne 数据类型定义与 MySQL 习惯大体一致,并扩展了 VECTOR、DATALINK 等类型。下表给出产品侧常用类型与范围摘要;未列出的细节以实例引擎行为为准。
整数¶
类型 |
存储 |
有符号范围(摘要) |
无符号 |
|---|---|---|---|
TINYINT |
1 字节 |
-128 ~ 127 |
0 ~ 255 |
SMALLINT |
2 字节 |
-32768 ~ 32767 |
0 ~ 65535 |
INT |
4 字节 |
约 ±2.1e9 |
0 ~ 约 4.2e9 |
BIGINT |
8 字节 |
约 ±9.2e18 |
0 ~ 约 1.8e19 |
浮点与精确小数¶
类型 |
说明 |
|---|---|
FLOAT / FLOAT32 |
单精度;可写 |
DOUBLE / FLOAT64 |
双精度;可写 |
DECIMAL |
精确数值;适合金额等需定点的场景 |
浮点有舍入误差;财务与计数优先 DECIMAL。
字符串与二进制¶
类型 |
说明 |
|---|---|
CHAR / VARCHAR |
定长 / 变长字符串 |
BINARY / VARBINARY |
二进制串 |
TEXT / BLOB |
长文本 / 二进制大对象(不区分 TINY/MEDIUM/LONG 等子类型命名时按统一大对象处理) |
ENUM |
枚举:取值来自预定义字符串列表,内部以整数表示 |
BIT(M) |
位串,M 为 1~64,默认 1 |
日期与时间¶
类型 |
说明 |
|---|---|
DATE |
日期 |
TIME |
时间 |
DATETIME |
日期时间 |
TIMESTAMP |
时间戳(时区相关行为受 |
YEAR |
年份 |
TIMESTAMP 默认值、ON UPDATE 等初始化规则与 MySQL 类似,但以当前实例支持情况为准。
JSON¶
用于存储 JSON 文档。可用 JSON_EXTRACT、JSON_EXTRACT_STRING、JSON_EXTRACT_FLOAT64、JQ / TRY_JQ 等函数查询与变换(见函数)。
UUID¶
UUID 类型,配合 UUID() 等函数生成通用唯一标识。
DATALINK¶
指向外部或 Stage 等路径上的文件资源,可与 LOAD_FILE / SAVE_FILE 等配合,用于非结构化或文件型数据引用(能力随产品开放范围而定)。
VECTOR(向量)¶
面向 embedding / 相似度检索:
要点 |
说明 |
|---|---|
元素类型 |
目前为 |
维度 |
建列时指定,如 |
形态 |
一维向量,不是通用多维矩阵 |
约束 |
不能作为主键或唯一键 |
检索 |
配合 |
CREATE TABLE t1 (
id INT,
emb vecf32(3)
);
插入格式支持字面量数组等形式(具体字面量写法以客户端与版本为准)。
类型转换¶
隐式转换:表达式两侧类型不一致时,引擎按规则提升或转换;失败则报错。
显式转换:使用
CAST()、CONVERT()、BINARY()等(见运算符)。