更新时间:2024-11-12 GMT+08:00
向量数据类型
向量数据类型包括floatvector和boolvector两种。
- floatvector数据类型是指多维数据中含有的数据为float类型,例如[1.0,3.0,11.0,110.0,62.0,22.0,4.0]。
- floatvector成员仅支持单精度。单精度范围 -3.402E+38~+3.402E+38,6位十进制数字精度。
- floatvector不支持NULL、Nan、Inf作为元素,当向量中含有NULL值,数据库会报错。
- floatvector不能为NULL,当插入、更新或转换NULL值作为向量数据时,数据库会报错。
- floatvector数据在某些场景下(执行计划走stream计划时),其成员存储数字精度受guc参数extra_float_digits控制,会导致相同数据参与计算时结果不一致,此时需设置extra_float_digits = 3进行规避。
- boolvector数据类型是指多维数据中含有的数据为bool类型,例如[0,0,0,0,0,1,0,0,1,0,0,0]。
- boolvector数据类型成员可使用t(T)\f(F)、y(Y)\n(N)、1\0、true\false、yes\no、on\off等方式表达布尔型数据。
- boolvector不支持NULL、Nan、Inf作为元素,当向量中含有NULL值,数据库会报错。
- boolvector不能为NULL,当插入、更新或转换NULL值作为向量数据时,数据库会报错。
向量类型的使用
向量类型的使用示例如下:
-- 创建含向量类型的表,同时设定数据维度。建表时向量类型必须要指定维度。 gaussdb=# CREATE TABLE t1(id int unique, repr floatvector(4)); gaussdb=# CREATE TABLE t2(id int unique, repr boolvector(3)); -- 插入数据 gaussdb=# INSERT INTO t1 VALUES(0, '[30,12,12,25]'); gaussdb=# INSERT INTO t2 VALUES(1, '[1, 0, 1]');
父主题: 数据类型