Array 函数
所有 LIST 函数都可用于 ARRAY 数据类型。此外,还支持若干 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] |