array_concat
将多个数组连接成一个包含所有数组元素的数组。
要连接的数组中的元素可以是相同类型或不同类型。 但是,我们建议元素是相同的类型。
Null 值被视为正常值处理。
语法
array_concat(input0, input1, ...)
参数
input
: 您要连接的一个或多个数组。 以 (input0, input1, ...)
格式指定数组。 此函数支持以下类型的数组元素:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、FLOAT、DOUBLE、VARCHAR、DECIMALV2、DATETIME、DATE 和 JSON。 2.5 版本开始支持 JSON。
返回值
返回一个包含由 input
参数指定的数组中保存的所有元素的数组。 返回的数组的元素与输入数组的元素具有相同的数据类型。 此外,返回的数组的元素遵循输入数组及其元素的顺序。
示例
示例 1:连接包含数字元素的数组。
select array_concat([57.73,97.32,128.55,null,324.2], [3], [5]) as res;
+-------------------------------------+
| res |
+-------------------------------------+
| [57.73,97.32,128.55,null,324.2,3,5] |
+-------------------------------------+
示例 2:连接包含字符串元素的数组。
select array_concat(["sql","storage","execute"], ["Query"], ["Vectorized", "cbo"]);
+----------------------------------------------------------------------------+
| array_concat(['sql','storage','execute'], ['Query'], ['Vectorized','cbo']) |
+----------------------------------------------------------------------------+
| ["sql","storage","execute","Query","Vectorized","cbo"] |
+----------------------------------------------------------------------------+
示例 3:连接两种不同类型的数组。
select array_concat([57,65], ["pear","apple"]);
+-------------------------------------------+
| array_concat([57, 65], ['pear', 'apple']) |
+-------------------------------------------+
| ["57","65","pear","apple"] |
+-------------------------------------------+
示例 4:将 Null 值作为正常值处理。
select array_concat(["sql",null], [null], ["Vectorized", null]);
+---------------------------------------------------------+
| array_concat(['sql',NULL], [NULL], ['Vectorized',NULL]) |
+---------------------------------------------------------+
| ["sql",null,null,"Vectorized",null] |
+---------------------------------------------------------+