收集列表到数组函数:COLLECT_LIST_ON_ARRAY

collect_list_on_array([DISTINCT] array [, limit])

功能描述

该函数用于将输入的数组(

ARRAY
ARRAY
)中的元素收集到一个新的数组中,并返回该新数组。如果指定了
DISTINCT
DISTINCT
参数,则返回的结果数组中的元素是去重后的。

参数说明

  • array
    array
    :输入的数组(
    ARRAY
    ARRAY
    )类型数据。
  • limit
    limit
    :可选参数,整数类型,表示最多收集的元素个数。如果不指定,则收集所有元素。

返回结果

  • 返回一个数组(
    ARRAY
    ARRAY
    )类型数据,其元素类型与输入数组的元素类型相同。
  • 如果指定了
    DISTINCT
    DISTINCT
    参数,则返回的结果数组中的元素是唯一的(即重复元素会被去重)。
  • 如果指定了
    limit
    limit
    参数,则返回的数组最多包含
    limit
    limit
    个元素。
  • 函数不保证返回结果数组的元素顺序。
  • 输入数组中的
    NULL
    NULL
    值不会影响结果数组的计算。

使用示例

以下示例展示了如何使用

collect_list_on_array
collect_list_on_array
函数来收集数组中的元素并返回一个新数组。

示例 1:基本使用

SELECT collect_list_on_array(a) FROM VALUES (ARRAY(3, 3, 4)), (NULL), (ARRAY(2, 2, 3)), (ARRAY(NULL)), (ARRAY(1, NULL, 2)), (ARRAY(1, 2, 2)) AS t(a); +--------------------------+ | collect_list_on_array(a) | +--------------------------+ | [3,3,4,2,2,3,1,2,1,2,2] | +--------------------------+

示例 2:使用 limit 参数限制返回的元素个数

SELECT collect_list_on_array(a, 5) FROM VALUES (ARRAY(3, 3, 4)), (NULL), (ARRAY(2, 2, 3)), (ARRAY(NULL)), (ARRAY(1, NULL, 2)), (ARRAY(1, 2, 2)) AS t(a); +-----------------------------+ | collect_list_on_array(a, 5) | +-----------------------------+ | [3,3,4,2,2] | +-----------------------------+

联系我们
预约咨询
微信咨询
电话咨询