ARRAY_UNION

计算ARRAY数组ab的并集,并去掉重复元素。

命令格式

array<T> array_union(array<T> <a>,  array<T> <b>)

参数说明

ab:必填。ARRAY数组。array<T>中的T指代ARRAY数组元素的数据类型,数组中的元素可以为任意类型。ab中元素的数据类型必须一致。

数组中的元素可以为如下类型:

  • TINYINT、SMALLINT、INT、BIGINT

  • FLOAT、DOUBLE

  • BOOLEAN

  • DECIMAL、DECIMALVAL

  • DATE、DATETIME、TIMESTAMP、IntervalDayTime、IntervalYearMonth

  • STRING、BINARY、VARCHAR、CHAR

  • ARRAY、STRUCT、MAP

返回值说明

返回ARRAY类型。如果ab为NULL,返回NULL。

使用示例

  • 示例1:计算ARRAY数组array(1, 2, 3)array(1, 3, 5)的并集,并去掉重复元素。命令示例如下。

    --返回[1,2,3,5]。
    select array_union(array(1, 2, 3), array(1, 3, 5));
  • 示例2:任一ARRAY数组为NULL。命令示例如下。

    --返回NULL。
    select array_union(array(1, 2, 3), null);

相关函数

ARRAY_UNION函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数