VECTOR

vector(value1, value2, ...)

功能

创建一个向量类型的值。向量是一种特殊的数组类型,专门用于向量计算和相似度搜索。

参数

  • value1, value2, ...: 数值类型的值,可以是 tinyint, smallint, int, bigint, float, double 或 decimal

返回结果

  • vector 类型,返回包含所有参数值的向量
  • 向量的元素类型根据输入参数自动推断
  • 向量的维度等于参数个数

举例

SELECT vector(1, 2, 3); -- 结果:[1,2,3]

SELECT typeof(vector(1Y, 2Y, 3Y)); -- 结果:vector(tinyint,3)

SELECT typeof(vector(1, 2, 3)); -- 结果:vector(int,3)

SELECT typeof(vector(1.0F, 2.0F, 3.0F)); -- 结果:vector(float,3)

SELECT typeof(vector(1.0, 2.0, 3.0)); -- 结果:vector(float,3)

SELECT size(vector(1, 2, 3)); -- 结果:3

举例

SELECT vector(1Y, 2Y, 3Y); -- 结果:[1,2,3]

SELECT vector(1.0, 2.0, 3.0, 4.0); -- 结果:[1,2,3,4]

SELECT vector(1, 2, 3) == vector(1, 2, 3); -- 结果:true

SELECT vector(1, 2, 3) == vector(2, 3, 4); -- 结果:false

SELECT array_distinct(vector(1, 2, 1)); -- 结果:[1,2]

SELECT v FROM VALUES (vector(2, 3, 4)), (vector(1, 2, 3)) AS t(v) ORDER BY v; -- 结果:[1,2,3] -- 结果:[2,3,4]

说明

  • vector 类型是 array 类型的特殊形式,专门优化用于向量计算
  • 支持的元素类型:tinyint (i8), smallint (i16), int (i32), bigint (i64), float, double
  • 向量可以与 array 类型互相转换和混合使用
  • 向量支持相等比较、排序等基本操作
  • 向量常用于向量相似度搜索、机器学习和推荐系统
  • 可以使用
    size()
    size()
    函数获取向量的维度
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询