跳到主要内容

数组函数概述

数组函数是 seekdb 系统中提供的一组专门用于处理数组数据的函数。这些函数允许用户执行复杂的数组查询和分析。

以下是一些 seekdb 的数组函数及其用途的概述:

数组函数类型

数组函数类型描述
数组构造函数用于构建新的数组数据类型的函数。
数组判断函数对输入的数组数据进行逻辑判断,并返回布尔值的函数。
数组输出函数对输入的数组数据进行输出,并返回输出后的数组数据。
数组操作函数对输入的数组数据进行基本操作,如添加元素、删除元素、查找元素等,并返回操作后的数组数据。

数组函数全览

seekdb 当前支持的所有数组函数如下所示:

函数类型函数名称描述
数组构造函数array用于构建一个数组数据。
数组构造函数rb_build用于将基础类型为整数的数组数据转换为高效压缩位图数据(RoaringBitmap)。
运算符[]用于构建一个数组数据。
数组判断函数array_contains判断数组中是否含有某个元素。
数组判断函数array_contains_all判断输入的数组是否包含另一个数组中的所有元素。
数组判断函数array_overlaps判断两个数组是否存在交集。
运算符ANY判断数组中是否含有某个元素,和 array_contains() 函数功能相同。
数组输出函数array_to_string将数组转换为字符串。具体而言,即根据指定的分隔符和空元素符将数组中的所有基础元素打印成字符串。
数组操作函数array_append用于向目标数组中新增指定元素。
数组操作函数array_distinct用于对目标数组进行去重操作。
数组操作函数array_remove用于对目标数组进行删除指定元素操作。
数组操作函数cardinality用于返回目标数组的基础元素数量。
数组操作函数element_at根据索引,返回目标数组中指定位置的元素。
数组操作函数string_to_array根据指定分隔符将字符串拆分为字符串数组。
数组操作函数array_agg用于将指定列上的多行数据汇聚成 1 个数组值并返回结果。
数组操作函数unnest用于将数组中的元素展开为多行,并返回一个包含这些元素的关系表。
数组操作函数array_prepend用于在数组的开头添加一个元素,并返回一个新的数组。
数组操作函数array_concat用于将多个数组合并,并返回一个新的数组。
数组操作函数array_compact用于删除数组中连续重复的元素,并返回一个新的数组。
数组操作函数array_sort用于对数组进行升序排序,并且在排序时将 NULL 值放在数组的最后。
数组操作函数array_length用于返回数组的长度。如果是嵌套数组,返回的是第一层数组的长度。
数组操作函数array_range用于生成一个等差数列数组。
数组操作函数array_sum用于计算数组中所有元素的总和。
数组操作函数array_diffrence用于计算数组中两个相邻元素的差值,并将结果存储在一个新的数组中返回。
数组操作函数array_min用于返回数组中的最小值,NULL 值会被忽略。
数组操作函数array_max用于返回数组中的最大值,NULL 值会被忽略。
数组操作函数array_avg用于返回数组中所有元素的平均值,NULL 值当作 0 计算。
数组操作函数array_position用于查找数组中指定元素的位置。
数组操作函数array_slice用于从数组的指定位置开始提取一部分元素,并将提取的元素组成新的数组返回。
数组操作函数reverse用于逆序排列数组中的元素。如果是嵌套数组,则逆序排列第一层的元素。
数组操作函数array_map用于将输入的每个数组的元素按照 Lambda 函数进行转换,并将每次转换后得到的所有新元素合成 1 个新的数组作为输出结果。
数组操作函数array_filter根据 Lambda 函数的返回值来决定是否过滤数组中的元素。
数组操作函数array_sortby根据给定的 Lambda 函数对一个数组进行排序。
数组操作函数array_first用于返回数组中第一个使得给定的 Lambda 函数返回值不为 0 的元素。