⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
数组函数

所有 LIST 函数均适用于 ARRAY 数据类型。此外,还支持若干 ARRAY 原生函数。

数组原生函数

函数 描述
array_cosine_distance(array1, array2) 计算两个等长数组之间的余弦距离。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
array_cosine_similarity(array1, array2) 计算两个等长数组之间的余弦相似度。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
array_cross_product(array, array) 计算两个长度为 3 的数组的叉积。数组元素不能为 NULL
array_distance(array1, array2) 计算两个等长数组之间的距离。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
array_dot_product(array1, array2) array_inner_product 的别名。
array_inner_product(array1, array2) 计算两个等长数组之间的内积。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
array_negative_dot_product(array1, array2) array_negative_inner_product 的别名。
array_negative_inner_product(array1, array2) 计算两个等长数组之间的负内积。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
array_value(arg, ...) 创建一个包含参数值的 ARRAY

array_cosine_distance(array1, array2)

描述 计算两个等长数组之间的余弦距离。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
示例 array_cosine_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 0.007416606

array_cosine_similarity(array1, array2)

描述 计算两个等长数组之间的余弦相似度。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
示例 array_cosine_similarity(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 0.9925834

array_cross_product(array, array)

描述 计算两个长度为 3 的数组的叉积。数组元素不能为 NULL
示例 array_cross_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 [-1.0, 2.0, -1.0]

array_distance(array1, array2)

描述 计算两个等长数组之间的距离。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
示例 array_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 1.7320508

array_inner_product(array1, array2)

描述 计算两个等长数组之间的内积。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
示例 array_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 20.0
别名 array_dot_product

array_negative_inner_product(array1, array2)

描述 计算两个等长数组之间的负内积。数组元素不能为 NULL。只要两个参数的大小相同,数组可以是任意长度。
示例 array_negative_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 -20.0
别名 array_negative_dot_product

array_value(arg, ...)

描述 创建一个包含参数值的 ARRAY
示例 array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT)
结果 [1.0, 2.0, 3.0]
© 2025 DuckDB 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南