Documentation
/ SQL
/ Functions
Array Functions
所有LIST函数都与ARRAY数据类型一起使用。此外,还支持几个ARRAY原生函数。
| Function |
Description |
array_value(index) |
创建一个包含参数值的ARRAY。 |
array_cross_product(array1, array2) |
计算两个大小为3的数组的叉积。数组元素不能为NULL。 |
array_cosine_similarity(array1, array2) |
计算两个相同大小的数组之间的余弦相似度。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。 |
array_cosine_distance(array1, array2) |
计算两个相同大小数组之间的余弦距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于1.0 - array_cosine_similarity |
array_distance(array1, array2) |
计算两个相同大小的数组之间的距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。 |
array_inner_product(array1, array2) |
计算两个相同大小的数组之间的内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。 |
array_negative_inner_product(array1, array2) |
计算两个相同大小数组之间的负内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这等同于-array_inner_product |
array_dot_product(array1, array2) |
array_inner_product(array1, array2) 的别名。 |
array_negative_dot_product(array1, array2) |
array_negative_inner_product(array1, array2) 的别名。 |
| 描述 |
创建一个包含参数值的ARRAY。 |
| 示例 |
array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT) |
| 结果 |
[1.0, 2.0, 3.0] |
| 描述 |
计算两个大小为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] |
| 描述 |
计算两个相同大小的数组之间的余弦相似度。数组元素不能为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.9925833 |
| 描述 |
计算两个大小相同的数组之间的余弦距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于1.0 - array_cosine_similarity。 |
| 示例 |
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 |
| 描述 |
计算两个相同大小的数组之间的距离。数组元素不能为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 |
| 描述 |
计算两个大小相同的数组之间的内积。数组元素不能为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 |
| 描述 |
计算两个大小相同的数组之间的负内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于-array_inner_product |
| 示例 |
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_inner_product(array1, array2) 的别名。 |
| 示例 |
array_dot_product(l1, l2) |
| 结果 |
20.0 |
| 描述 |
array_negative_inner_product(array1, array2) 的别名。 |
| 示例 |
array_negative_dot_product(l1, l2) |
| 结果 |
-20.0 |