FILL_VECTOR

简介

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

语法

fill_vector(dimension, fill_value)
fill_vector(dimension, fill_value)

参数说明

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

返回结果

返回一个 VECTOR 类型的值,向量维度等于

dimension
dimension
参数,所有元素均为
fill_value
fill_value
的值。向量的元素类型由
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.08712911605834961 | +---------------------+

注意事项

  • dimension
    dimension
    参数必须为编译期可确定的正整数常量,不支持动态表达式。
  • fill_value
    fill_value
    不支持 NULL,传入 NULL 会导致语义分析错误。
  • 填充值的类型决定了向量的元素类型:TINYINT 生成
    vector(tinyint, N)
    vector(tinyint, N)
    ,其他整数类型生成
    vector(int, N)
    vector(int, N)
    ,浮点和 DECIMAL 类型生成
    vector(float, N)
    vector(float, N)
  • fill_vector 常用于创建基准向量,例如与
    cosine_distance
    cosine_distance
    l2_distance
    l2_distance
    等向量距离函数配合使用。
  • 向量类型是数组类型的特殊形式,可以与 array 类型互相转换和混合使用。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询