FILL_VECTOR 函数

简介

FILL_VECTOR 函数用于创建一个指定维度的向量,并用给定的值填充所有元素。该函数常用于初始化固定值向量,例如创建零向量、单位向量或用于向量运算的基准向量。

语法

fill_vector(dimension, fill_value)

参数说明

  • dimension: 向量的维度,必须为正整数常量(编译期确定),类型为 INT。指定生成向量的元素个数。
  • fill_value: 填充值,用于填充向量中每个元素的数值。支持以下类型:
    • TINYINT:生成 vector(tinyint, N) 类型的向量
    • INT 及其他整数类型(SMALLINTBIGINT):生成 vector(int, N) 类型的向量
    • FLOATDOUBLEDECIMAL:生成 vector(float, N) 类型的向量

返回结果

返回一个 VECTOR 类型的值,向量维度等于 dimension 参数,所有元素均为 fill_value 的值。向量的元素类型由 fill_value 的类型决定。

使用示例

  1. 创建一个 3 维浮点向量,所有元素填充为 1.0:

    SELECT fill_vector(3, 1.0) AS res;
    +-----------+
    |    res    |
    +-----------+
    | [1,1,1]   |
    +-----------+
  2. 创建一个 4 维零向量,并与 cosine_distance 配合使用:

    SELECT cosine_distance(vector(1.0, 2.0, 3.0, 4.0), fill_vector(4, 1.0)) AS cos_dist;
    +---------------------+
    |      cos_dist       |
    +---------------------+
    | 0.13397459621556141 |
    +---------------------+
  3. 当填充值为 NULL 时:

    SELECT fill_vector(3, NULL) AS res;
    +------+
    | res  |
    +------+
    | NULL |
    +------+

注意事项

  • dimension 参数必须为编译期可确定的正整数常量,不支持动态表达式。
  • fill_value 为 NULL 时,返回结果为 NULL。
  • 填充值的类型决定了向量的元素类型:TINYINT 生成 vector(tinyint, N),其他整数类型生成 vector(int, N),浮点和 DECIMAL 类型生成 vector(float, N)
  • fill_vector 常用于创建基准向量,例如与 cosine_distancel2_distance 等向量距离函数配合使用。
  • 向量类型是数组类型的特殊形式,可以与 array 类型互相转换和混合使用。

联系我们
预约咨询
微信咨询
电话咨询